首页 > 其他分享 >242. 有效的字母异位词

242. 有效的字母异位词

时间:2022-10-17 11:01:48浏览次数:77  
标签:return string exists int 异位 字母 242

242. 有效的字母异位词

给定两个字符串 st ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 st 中每个字符出现的次数都相同,则称 st 互为字母异位词。

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

输入: s = "rat", t = "car"
输出: false

提示:

  • 1 <= s.length, t.length <= 5 * 104
  • st 仅包含小写字母

进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

解法一:int数组对应26个小写字母

func isAnagram(s string, t string) bool {
    record := [26]int{}
    for _,r := range s {
        record[r - rune('a')]++
    }
    for _,r := range t {
        record[r - rune('a')]--
    }
    return record == [26]int{}
}

 解法二:用map计字母数量

func isAnagram(s string, t string) bool {
    if len(s)!=len(t){
        return false
    }
    exists := make(map[byte]int)
    for i:=0;i<len(s);i++{
        if v,ok:=exists[s[i]];v>=0&&ok{
            exists[s[i]]=v+1
        }else{
            exists[s[i]]=1
        }
    }
    for i:=0;i<len(t);i++{
        if v,ok:=exists[t[i]];v>=1&&ok{
            exists[t[i]]=v-1
        }else{
            return false
        }
    }
    return true
}

 

标签:return,string,exists,int,异位,字母,242
From: https://www.cnblogs.com/fulaien/p/16798429.html

相关文章

  • Problem P28. [算法课回溯] 电话号码的字母组合
    回溯,唯一麻烦的是要建立一个字典,键值对为数字字符对应英文字符串#include<iostream>#include<bits/stdc++.h>#include<cstdio>#include<string>usingnamespaces......
  • 爱从26个字母开始 (可爱的史努比)
    A-Accept(接受)世界上没有十全十美的人这句话是千真万确的尤其是两个人一起并不等于两块儿合得来的积木必须互相迁就,记住,你爱他/她就必须接......
  • oracle 根据汉字生成首字母简拼(助记码)
    1.情景展示如何根据中文,生成汉字首字母拼音?3.具体实现CREATEORREPLACEFUNCTION"GET_ZJM"(P_NAMEVARCHAR2)RETURNVARCHAR2ASV_COMPAREVARCHAR2(100);V......
  • 49. 字母异位词分组
    49.字母异位词分组首先根据题意得知,异位词指的是不同词中字母相同拆分这个词为char[]数组,经过排序char[]数组,再转换为字符串key,如果有两个key是一样的,就说明这两个......
  • 异位词
    给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词输入:s="anagram"t="nagram"......
  • java判断字符必须包含大写字母、小写字母、数字、特殊符号且10位及以上
    原文链接:https://www.cnblogs.com/yangchengdebokeyuan/p/15406523.htmlpackagecom.test.tokenserver.util;publicclasstest{//publicstaticfinalStringPW_P......
  • LaTex中24个希腊字母
    \[\begin{array}{llllllllll}\hline\mathrm{A}\rightarrow\alpha&\text{alpha}&\mathrm{B}\rightarrow\beta&\text{beta}&\Gamma\rightarrow\gamma......
  • SQL 修改语句: 字符串首字母大写 All In One
    SQL修改语句:字符串首字母大写AllInOneSQL用户名第一个字符转换成大写的,其余字符都转换成小写的demo字符串拼接https://leetcode.cn/problems/fix-names-i......
  • 随机生成字符串,支持字母、数字、下划线
    //随机生成64位字符,支持字母、数字、下划线//this.clientSecretValue输入框的值randomRange(){letrandomStr=''letcharStr='ABCDEF......
  • 希腊字母的正确读法
    希腊字母的正确读法是什么?1Ααalphaa:lf阿尔法2Ββbetabet贝塔3Γγgammaga:m伽马4Δδdeltadelt德尔塔5Εεepsilonep`silon伊普西龙6......