数据结构与算法学习day14-双指针法

这部分对已经用双指针法做过的算法题目进行总结

一.移除元素

数据结构与数据结构与算法学习day02-数组二分法查找、移除元素-CSDN博客

这道题的双指针主要是快指针和慢指针。

  • 快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组
  • 慢指针:指向更新 新数组下标的位置

快指针会有两种情况:

1.找到目标替换元素,快指针跳过该元素继续遍历

2.没找到目标替换元素,则快指针把内容覆盖到慢指针所指的位置。

二.反转字符串

206. 反转链表 - 力扣(LeetCode)

这道题的双指针主要是头指针和尾指针。用swap函数对两个指针指的内容进行替换。


三.替换数字

数据结构与算法学习day12-字符串-CSDN博客

这道题的双指针主要是两个尾指针,一个尾指针指向原字符串尾部位置,一个尾指针指向加长后的字符串尾部位置。用两个尾指针,对原字符串进行从末端开始数字替换。


四.翻转字符串里的单词

数据结构与算法学习day12-字符串-CSDN博客

这里双指针用在了两个函数:

1.翻转函数,用法与(二、反转字符串)一样 

2.去除空格函数,用法与(三.替换数字)一样


五.翻转链表

数据结构与算法学习day06-设计链表、翻转链表-CSDN博客

这里的双指针有前指针和后指针。根据链表的特性,依次把后指针位置的next指向前指针的位置即可完成链表翻转。


六.删除链表的倒数第N个节点

数据结构与算法学习day07-删除链表的倒数第N个节点、链表相交-CSDN博客

这里的双指针是为了找出倒数第n个节点的前一个位置。先加一个虚拟头结点(因为要删除元素)前后指针均指向虚拟头结点。后指针走n+1步,然后前后同时移动,直到后指针指向null,则前指针到倒数第n个节点的前一个位置。具体数学推理看文章。


七.链表相交

数据结构与算法学习day07-删除链表的倒数第N个节点、链表相交-CSDN博客

这道题的双指针法是为了找到两个链表相同指针。


八.环形链表||

数据结构与算法学习day08-环形链表II-CSDN博客

这道题的双指针法用在两个方面:

1.找链表的环

2.找链表的入口位置

具体看上面原文


九.三数之和

数据结构与算法学习day11-哈希表-赎金信、三数之和、四数之和-CSDN博客


十.四数之和

数据结构与算法学习day11-哈希表-赎金信、三数之和、四数之和-CSDN博客

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值