双指针技术如何应用于解决数组问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2967个文字,预计阅读时间需要12分钟。
1. 相向双指针 Reverse 型:反转字符串、判断回文串
2.Two Sum 型:两数之和、三数之和
3.Partition 型:快速排序、颜色排序
4.框架 def isPalindrome(s):
1. 相向双指针
- Reverse 型:翻转字符串、判断回文串
-
Two Sum 型:两数之和、三数之和
- Partition 型:快速排序、颜色排序
框架
def isPalindrome(s): # 一左一右两个指针(索引),分别从中间开始移动 left, right = 0, len(s) - 1 # left 一定要小于 right while left < right: if s[left] != s[right]: return False left += 1 # left 向右移动一位 right -= 1 # right 向左移动一位 return True1.1 验证回文串
125. 验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。本文共计2967个文字,预计阅读时间需要12分钟。
1. 相向双指针 Reverse 型:反转字符串、判断回文串
2.Two Sum 型:两数之和、三数之和
3.Partition 型:快速排序、颜色排序
4.框架 def isPalindrome(s):
1. 相向双指针
- Reverse 型:翻转字符串、判断回文串
-
Two Sum 型:两数之和、三数之和
- Partition 型:快速排序、颜色排序
框架
def isPalindrome(s): # 一左一右两个指针(索引),分别从中间开始移动 left, right = 0, len(s) - 1 # left 一定要小于 right while left < right: if s[left] != s[right]: return False left += 1 # left 向右移动一位 right -= 1 # right 向左移动一位 return True1.1 验证回文串
125. 验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。
