题目
Given two strings s and t, write a function to determine if t is an anagram of s.
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
题意
判断 t 是否是由 s 颠倒顺序构成的。
题解
对s和t都进行排序,之后判断s==t ?
C++代码
C++中string排序的用法为sort(s.begin(), s.end());
class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(), s.end());
sort(t.begin(), t.end());
return s==t;
}
};
python代码
1、python中的字符串类型是不允许直接修改元素的。必须先把要排序的字符串放在容器里,如list。
2、python中list容器的sort()函数没有返回值。所以在python中对字符串排序需要好几行代码:
s="string"
l=list(s)
l.sort()
s="".join(l)
print s
'ginrst'
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
l = list(s)
l.sort()
s ="".join(l)
l = list(t)
l.sort()
t ="".join(l)
return s==t