【LeetCode】Valid Anagram (2 solutions)

秒速五厘米 2022-07-17 04:46 150阅读 0赞

Valid Anagram

Given two strings s and t, write a function to determine if t is an anagram of s.

For example,
s = “anagram”, t = “nagaram”, return true.
s = “rat”, t = “car”, return false.

Note:
You may assume the string contains only lowercase alphabets.

解法一:排序后判相等

复制代码

  1. class Solution {
  2. public:
  3. bool isAnagram(string s, string t) {
  4. sort(s.begin(), s.end());
  5. sort(t.begin(), t.end());
  6. return s == t;
  7. }
  8. };

复制代码

012136199858338.jpg

解法二:计数判相等

复制代码

  1. class Solution {
  2. public:
  3. bool isAnagram(string s, string t) {
  4. vector<int> count(26, 0);
  5. for(int i = 0; i < s.size(); i ++)
  6. count[s[i]-'a'] ++;
  7. for(int i = 0; i < t.size(); i ++)
  8. count[t[i]-'a'] --;
  9. for(int i = 0; i < 26; i ++)
  10. if(count[i] != 0)
  11. return false;
  12. return true;
  13. }
  14. };

复制代码

发表评论

表情:
评论列表 (有 0 条评论,150人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Anagrams问题

    二.                       Anagrams问题 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现