【LeetCode】242 . 有效的字母异位词

242 . 有效的字母异位词(简单)

在这里插入图片描述
【LeetCode】242 . 有效的字母异位词_第1张图片

方法:哈希表

思路

  • 首先判断两个字符串长度是否相等,不相等直接返回 false;
  • 接下来设置一个长度为26 的哈希表,分别对应26个小写字母;遍历两个字符串,对于 s 出现的字符在 vocabulary 对应位置 +1, 对于 t 出现的字符在 vocabulary 对应位置 -1 。
  • 最后遍历 vocabulary,如果值都为 0 ,说明二者是异位词,否则返回 false。

代码

class Solution {
public:
    bool isAnagram(string s, string t) {
       vector<int> vocabulary(26, 0);
       if(s.size() != t.size()) return false;
       for(int i=0; i<s.size(); ++i) {
           vocabulary[s[i] - 'a'] ++;
           vocabulary[t[i] - 'a'] --;
       } 
       for(int i=0; i<26; ++i){
           if(vocabulary[i] != 0)   return false;
       }
       return true;
    }
};

你可能感兴趣的:(LeetCode刷题,leetcode,算法,职场和发展)