leetcode简单
- 电脑硬件
- 2025-08-03 05:15:03

1. 两数之和
两数之和
方法1:暴力枚举 两次for 循环,记录索引和值,找到合适的值然后返回
方法2:使用哈希表 第一次for循环的时候,就可以使用哈希表记录key的value,可以实现时间复杂度是1,要分清楚哈希表的key和value的对应关系
class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: # method 1 暴力枚举 # for index1, i in enumerate(nums): # for index2, j in enumerate(nums): # if i+j == target and index1 != index2: # return [index1, index2] # method 2 暴力枚举 # for i in range(len(nums)): # for j in range(len(nums)): # if i!=j and nums[i] + nums[j] == target: # return [i, j] # method 3 使用哈希表,快速寻找是否存在目标元素 hashtable = dict() for i, num in enumerate(nums): if target - num in hashtable: return [hashtable[target - num ], i] else: hashtable[num] = i 2. 验证回文串验证回文串
将所有大写字符转换为小写字符、并移除所有非字母数字字符 解题思路:双指针
Python中处理字符串之isalpha()方法的使用:用于判断字符串是否全部由字母组成。string.isalpha(),string是要检查的字符串。该方法返回True或False,表示字符串是否全部由字母组成
Python中处理字符串之isalnum()方法的使用:其作用是检查一个字符串是否由字母或数字组成。只要字符串中包含了非字母或非数字的字符,该函数就返回False,空字符串也会返回False.也就是说,字符串中只在由字母、一种语言的字符、数字或字母及数字组成的情况下才返回True.
isalpha() 只能判断字符串是否只包含字母字符(包括字母和其他语言的字符),而不包括数字或其他特殊字符。数字+字母是falseisalnum() 则可以判断字符串是否同时包含字母和数字字符,只有当字符串中包含字母和数字字符时才会返回 True,否则返回 False。含有特殊字符才是False区别参考链接
upper() 方法将字符串转换为大写字母lower() 方法将字符串转换为小写字母双指针解法:
class Solution: def isPalindrome(self, s: str) -> bool: sgood = "".join([i.lower() for i in s if i.isalnum()]) n = len(sgood) left, right = 0 , n-1 while left < right: if sgood[left] != sgood[right]: return False else: left += 1 right -=1 return True优雅解法:
class Solution: def isPalindrome(self, s: str) -> bool: sgood = "".join(ch.lower() for ch in s if ch.isalnum()) return sgood == sgood[::-1]leetcode简单由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“leetcode简单”
下一篇
Unity(第十四部)光照