双指针总结

代码随想录 (programmercarl.com)

移除元素

  • 快慢指针,一个指向存的位置,一个指向要存的内容,可原地修改

反转字符串

  • 左右指针,对调
  • 注意字符串在python中是不变量,要变成list处理
  • 一些双指针的方法在python可能不适用

反转链表

  • 前后指针,前指针指向None,后指针指向头节点,后指针的下一个节点记得用temp存一下,然后开始遍历,变化指针方向

环形链表的入口

  • 2个双指针,第一个双指针找相遇点,第二个双指针找环入口
  • 第一个双指针:快慢指针,快指针走两步、慢指针走一步,一定会在环中相遇;
  • 第二对双指针:一个从头节点出发,一个从相遇点出发,相遇点就是环入口

四数相加

  • 三数相加外面再套一个循环
  • 三数相加:排序,遍历数组,从i开始,左指针从i+1开始,右指针从最后一位开始,若三数之和大了,右指针-1,小了,左指针+1,相等,共同向中间前进,直到相遇。
  • 注意去重和剪枝,去重注意和前一个比较
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容