所有题解方法请移步 github-Leecode_summary
28.实现strStr()
知识点:数组的切片 题外话:真是个呆子,我有毒,刚开始一直想着用双指针去做(Array后遗症) (❓传说中的暴力匹配法) 大神吐槽:这个题本意是KMP!!不是用内置函数解决(原谅我KMP都不知道是什么)
简单版(菜鸡版):
1 | # 几种字符匹配的方法 |
高手版:
- KMP-Knuth-Morris-Pratt-字符串匹配算法 1 阮一峰大佬-字符串匹配的KMP算法 0 从头到尾彻底理解KMP !!敲重点,下面这个有时间请务必看完并熟知
- sunday算法
背景:Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配 匹配方法:字符串匹配——Sunday算法
14.最长公共前缀
我太难了,官方题解方法好复杂,不想看了,还是评论区看得过眼~ zip(): 将可迭代的对象作为参数,将对象中对应的元素打包成元组,返回由这些元组组成的列表 (python3返回对象)。 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
1 | 1,2,3],b = [4,5,6,7,8] a = [ |
58. 最后一个单词的长度
得改: 遇到if
很多的代码就总觉得这样的代码不好,不想写,总而言之:跑通的是爸爸
split():
指定分隔符对字符串进行切片, para: num(分割为num+1个字符串)
strip([chars]):
移除字符串头尾指定的字符序列 rstrip(): 删除末尾的指定字符 lstrip()开头
1 | # split() 和 split(' ')的区别 |
387. 字符串中的第一个唯一字符 & 383. 赎金信
这个题目大家都有好多妙招呀!
今日份Tips-1: str.find() str.rfind()
list 的查找方法:
1 | 1,2,6,8,2,3,4,1] listA = [ |
344.翻转字符串 & 151.翻转字符串里的单词
今日份Tips-1: list和str转换
我惊了个呆,原来"".join(listA)
和 " ".join(listA)
是不一样的,原来我一直没搞懂其本质。
1 | "the sky is blue" strA = |
@amilyxy
2019.8.31
2019.11.7 其实有明显感觉做题的时间和代码效率都进步了(应该是array和string都太简单