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
文章来源:https://www.toymoban.com/news/detail-633127.html
2.看题解
class Solution:
def isPalindrome(self, s: str) -> bool:
# 普通双指针
left , right = 0 ,len(s)-1
while left < right :
if not s[left].isalnum():
left+=1
continue
if not s[right].isalnum():
right-=1
continue
if s[left].lower() == s[right].lower():
left+=1
right-=1
else:
return False
return True
文章来源地址https://www.toymoban.com/news/detail-633127.html
到了这里,关于[LeetCode - Python]167.两数之和 II (Medium);125. 验证回文串(Easy)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!