跳到主要内容

双指针算法

常见的双指针算法思想

  • 相向型双指针
  • 同向型双指针
  • 背向型双指针

相向型双指针

验证回文串

leetcode

验证回文串 Ⅱ

存在删除左边/右边两种情况

leetcode

leetcode

两数之和

先排序再用双指针

leetcode

同向型双指针

删除链表的倒数第 N 个结点

利用两个指针之间的距离为 N 实现快指针到底时慢指针即为倒数第 N 个节点 leetcode

环形链表

快慢指针,while 循环,快指针如果碰到了慢指针证明有环

leetcode

反转链表

用两个指针分别来保存 current 和 prev,保存好后再切断 next 关联

leetcode

快慢指针

一般出现的题目:原地修改数组

删除有序数组中的重复项

删除排序链表中的重复元素

滑动窗口

https://labuladong.github.io/algo/di-yi-zhan-da78c/shou-ba-sh-48c1d/wo-xie-le--f7a92/

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。