字符串Part2

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:找长度的质因数,然后逐个遍历尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值