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.
Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class Solution { public: bool isAnagram(string s, string t) { int a[26] = {0}; if(s.length() != t.length()) return 0; for(int i = 0; i < s.length(); i++) { a[s[i] - 'a']++; } for(int i = 0; i < t.length(); i++) { a[t[i] -'a']--; } for(int i = 0; i < 26; i++) { if(a[i] != 0) { return 0; } } return 1; } }; |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼