标签:排序 als 数组 get sel strong 出现 bool lambda
?给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
?说明:
??你可以假设字符串只包含小写字母。
原题请参考链接https://leetcode-cn.com/problems/valid-anagram/
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
# 字符串s按英文字母从小到大排序
s = "".join((lambda x: (x.sort(), x)[1])(list(s)))
# 字符串t按英文字母从小到大排序
t = "".join((lambda x: (x.sort(), x)[1])(list(t)))
if s == t:
return True
return False
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False
l = [0] * 26 # 数组作为哈希表,每个位置存放26个字母出现的次数
for i in s:
l[ord(i)-ord(‘a‘)] += 1
for i in t:
l[ord(i)-ord(‘a‘)] -= 1
# 小于0代表第二个字符串的某个字母出现次数比第一个字符串多
if l[ord(i)-ord(‘a‘)] < 0:
return False
return True
标签:排序 als 数组 get sel strong 出现 bool lambda
原文地址:https://www.cnblogs.com/bladers/p/14423914.html