1.题目:
167.两数之和 II (Medium)
1.代码:
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
#由于数组是已按非递减顺序排列,因此可以对撞双指针;
le , ri= 0 , len(numbers)-1
while le < ri :
Sum = numbers[le] + numbers [ri]
if Sum == target :
return[le+1,ri+1]
elif Sum < target :
le+=1
else :
ri-=1
2.题目
125. 验证回文串(Easy)
2.代码:
1.自己第一次写:
class Solution:
def isPalindrome(self, s: str) -> bool:
snew = list(filter(str.isalnum,s.lower()))
# s.lower() 全部变小写
# s.upper() 全部变大写
# filter(func,iteral)内置函数,用于过滤序列
# filter(str.isalpha,s) # 只保留字母
# filter(str.isalnum,s) # 只保留数字和字母
# filter(str.digit,s) # 只保留数字
left ,right = 0 ,len(snew)-1
while left < right :
if snew[left] != snew[right]:
return False
else :
left+=1
right-=1
return True