【LeetCode】242

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.

Anagram:Only change the arrangement of the word, but the variety and number of chars in the word are identical.

Solution 1: #include<algorithm> sort 

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

Solution 2: count

 1 class Solution {
 2 public:
 3     bool isAnagram(string s, string t) {    //runtime:12ms
 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 };
原文地址:https://www.cnblogs.com/irun/p/4695695.html