Skip to content

双指针之快慢指针

About 273 wordsLess than 1 minute

基础算法

2024-07-08

特指在原数组中进行修改的快慢指针。

代码随想录 (programmercarl.com)

快慢指针法

快慢指针法: 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。

定义快慢指针

  • 快指针:向前寻找目标元素
  • 慢指针:修改数组元素

题目

27.移除元素

fast遍历数组,如果nums[fast]!=val就修改nums[slow++]=nums[fast]

26.删除排序数组中的重复项

注意到非严格递增,则重复项一定连续。fast遍历数组,如果nums[fast]!=nums[slow],就修改nums[slow++]=nums[fast]

283.移动零

fast遍历数组,如果nums[fast]!=0就修改nums[slow++]=nums[fast],剩余部分置0

844.比较含退格的字符串

fast遍历字符串,如果s[fast]!='#',就修改s[slow++]=s[fast],否则slow--(注意边界处理)。最后比较sslow的部分和t是否相同。