您的位置:首页 > 编程语言 > C语言/C++

[LintCode]Two Strings Are Anagrams(C++|Java|Python)

2017-08-05 15:24 281 查看
C++ Version:

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
int count[128][2] = {0};

if (s.length() != t.length()) {
return false;
}
for (int i = 0; i < s.length(); i++) {
count[s[i]][0]++;
count[t[i]][1]++;
}
for (int i = 0; i < 128; i++) {
if (count[i][0] != count[i][1]) {
return false;
}
}
return true;
}
};
Java Version:

public class Solution {
/**
* @param s: The first string
* @param b: The second string
* @return true or false
*/
public boolean anagram(String s, String t) {
// write your code here
char[] a = s.toCharArray();
char[] b = t.toCharArray();
int i = 0;
int[][] count = new int[128][2];

if (a.length != b.length){
return false;
}

for (i = 0; i < a.length; i++){
count[Integer.valueOf(a[i])][0]++;
count[Integer.valueOf(b[i])][1]++;
}

for (i = 0; i < 128; i++){
if (count[i][0] != count[i][1]){
return false;
}
}

return true;

}
};
Python Version:

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
if len(s) != len(t):
return False
for c in s:
if t.count(c) != s.count(c):
return False
return True
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python java C++