写出一个函数anagram(s,
t)去判断两个字符串是否是颠倒字母顺序构成的
样例
给出 s="abcd",t="dcab",返回 true
python:先排序后比较
class Solution:
"""
@param s: The first string
@param b: The second string
@return true or false
"""
def anagram(self, s, t):
# write your code here
s = "".join((lambda x:(x.sort(),x)[1])(list(s)))
t = "".join((lambda y:(y.sort(),y)[1])(list(t)))
if s == t:
return True
else:
return False
c++:用了哈希思想
class Solution {
public:
/**
* @param s: The first string
* @param b: The second string
* @return true or false
*/
bool anagram(string s, string t) {
// write your code here
if (s.length() != t.length()) {
return false;
}
int length = s.length();
int a[128]={0};
int b[128]={0};
for(int i = 0; i < length; i++) {
int a1 = s[i];
int b1 = t[i];
a[a1]++;
b[b1]++;
}
for(int i =0; i < 128; i++) {
if (a[i] != b[i])
return false;
}
return true;
}
};
原文:http://blog.csdn.net/susser43/article/details/45511681