leetcode 242. 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.

Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?

 

Solution:

 1 bool isAnagram(char* s, char* t) 
 2 {
 3     int hash[256] = {0};
 4     int ls = strlen(s);
 5     int lt = strlen(t);
 6     if (ls != lt)
 7         return false;
 8     int i = 0;
 9     
10     for (i = 0; i < ls; i++)
11         hash[s[i]]++;
12     for (i = 0; i < ls; i++)
13     {
14         if (hash[t[i]] == 0)
15             return false;
16         hash[t[i]]--;
17     }
18     
19     return true;
20 }

 

你可能感兴趣的:(leetcode 242. Valid Anagram)