151. 反转字符串中的单词
- 思路1: 遍历
- 关注切片、循环的判断条件
-
class Solution: def reverseWords(self, s: str) -> str: new = "" i = 0 while i < len(s): if s[i] != " ": for j in range(i+1, len(s)): if s[j] == " ": new = " " + new new = s[i:j] + new i = j + 1 break elif j == len(s) - 1: new = " " + new new = s[i:j+1] + new i = j + 1 break else: i += 1 new = new.rstrip() return new
- 思路2: 使用库函数
- str.split()、str.strip()、.join()、reversed(list)
1. 右旋字符串
- 思路1:比较简单 就是切片
- 关键点在于如何获取input
-
k = int(input()) s = input() s = s[len(s)-k:] + s[:len(s)-k] print(s)
28. 实现strStr()
- 思路1:感觉python中肯定有这样的库函数
- 思路2: 切片+遍历
- 可以先用len(haystack) < len(needle)剪枝
459. 重复的子字符串
- 思路1:找长度的质因数,然后逐个遍历尝试