- 有效的字母异位词
- 1.解法
- 2.总结
- python
- 算法
- 3.相关题目推荐
leetcode链接
1.解法- 定义一个长度为26的数组,因为英文字母有26个,初始化为全0
- 遍历一下s,在每个字母对应的位置让数组的值+1
- 遍历一下t,在每个字母对应的位置让数组的值-1
- 最后遍历数组,如果数组为全0,则说明s和t只是顺序不同的相同字符串(字母异位词)
代码如下:
def isAnagram(self, s: str, t: str) -> bool: hashtable = [0] * 26 for i in s: index = ord(i) - ord('a') hashtable[index] += 1 for i in t: index = ord(i) - ord('a') hashtable[index] -= 1 for i in hashtable: if i != 0: return False return True2.总结 python
-
sorted函数:可以排序任何可迭代的容器,默认升序
-
初始化一个长度为len的数组的方式:
array = [0] * len
-
ord(ch):返回一个字符的ASCII码或者 Unicode 数值
-
collections.defaultdict([default_factory[, …]]):当键值不存在时,可以直接调用这个方法,对键值进行 *** 作,而不需要赋初值;如果单纯使用dict的话,需要先遍历一遍赋个初值,然后再进行 *** 作。
-
首先定义一个合适的哈希表:
(1)长度合适
(2)键值对合适 -
哈希表的方法一般是:
(1)索引:用来对应一些已知的信息
(2)值:用来记录个数或者做标记
383.赎金信
49.字母异位词分组
438. 找到字符串中所有字母异位词
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)