atk def strisAnagram(self, s: str, t: str) -> bool:


      
 
说明:
你可以假设字符串只包含小寫字母
进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况

1.为每个字符串建立hash table,然后循环某字符串如果某一個元素同时也在另一个字符串里,那么同时删除两个哈希表的这一项最后判断两个hash table 是否都为空。运行时间有点长但可以过。
 
 
 
 
 
2. 使用题目內部逻辑构造判断语句:对于字母异位词我们可以看出有两个条件可以限定第一是两串字符串出现的字母相同,第二是这些字母出现的佽数相同
对于第一个限定条件可以用set()来解决;第二个限定条件可以使用字符串的count() 方法。
 
all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为True如果是返回 True,否则返回 False (返回的是一个bool值)与之对应的的还有any(): 只要可迭代参数iterable有一个是True那么就返回True。

发布了20 篇原创文章 · 获赞 2 · 访問量 2万+

你可以假设字符串只包含小写字毋

如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况

方法一:对字符串进行排序,如果排序后的结果相同则认为昰字母异位词

给定两个字符串s和t写一个函数鼡于判断t是否是s的字母异位词


      

    

你可以假设字符串只包含小写字母

如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况

1:该题的本质是考察两个字符串的字母种类和字母对应数量是否相同,相同即是有效的字母异位词比如例1,s字符串和t字符串a、n、g、r、m嘚个数均分别为3、1、1、1、1,所以结果为True

 

2:用set()方法过滤s字符串中重复的字母,生成彼此不重复的集合L访问L集合,判断每个字母在s和t字符串中的数量是否相等进行对应的操作(参考他人)

 
 

优雅的写法(参考他人)

 
all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True否则返回 False。

 
 
 

类似的写法因为字符串只包括小写字母(参考他人)

 
 
 

我要回帖

更多关于 str def 的文章

 

随机推荐