剑指 Offer 58 - I. 翻转单词顺序
class Solution:
def reverseWords(self, s: str) -> str:
str1 = s.split() # 删除所有空格
return ' '.join(reversed(str1))
s.split()可以删除前后所有空格
剑指 Offer 58 - II. 左旋转字符串
第一种方法使用切片
class Solution:
def reverseLeftWords(self, s: str, n: int) -> str:
return s[n:]+s[:n]
第二种方法先分开处理再拼凑
class Solution:
def reverseLeftWords(self, s: str, n: int) -> str:
str1 = ''
str2 = ''
for i in range(n):
str1 += s[i]
for j in range(n,len(s)):
str2 += s[j]
re = str2+str1
return re
剑指 Offer II 006. 排序数组中两个数字之和
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
i,j = 0,len(numbers)-1
while i<j:
if numbers[i]+numbers[j]==target:
return [i,j]
elif numbers[i]+numbers[j]>target:
j-=1
else:
i+=1