Leetcode刷题Day4----------------链表
创始人
2024-02-03 01:22:19
0

Leetcode刷题Day4----------------链表

1. 两两交换链表中的节点(24)

  • 题目链接/文章讲解/视频讲解: https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html

视频中的方法:
关键点

  1. 开始的节点必须指向要反转的两个节点的前一个节点(虚拟头节点指向head)----> cur指向虚拟头节点,
  2. 循环判断条件:偶数(4)个节点,cur.next=null; 奇数(5)个节点,cur.next.next=null; 并且先写 cur.next=null; 因为如果第二个空了,直接就空指针异常了
  3. 循环内部步骤:
    3.1 保存节点1
    3.2 保存节点3
    3.3 从虚拟头节点指向2
    3.4 让2 (cur.next.next) 指向保存的1
    3.5 让1(cur.next.next) 指向保存的3
    3.6 cur 往后移动2个指针(3之前的)
  4. 返回虚拟头节点的nxt
class Solution {public ListNode swapPairs(ListNode head) {ListNode dummy=new ListNode(-1,head);ListNode cur=dummy;while(cur.next!=null&&cur.next.next!=null){ListNode temp1=cur.next;ListNode temp3=cur.next.next.next;cur.next=cur.next.next;cur.next.next=temp1;cur.next.next.next=temp3;cur=cur.next.next;}return dummy.next;}
}

2. 删除链表的倒数第N个节点 (19)

  • 题目链接:https://leetcode.cn/problems/remove-nth-node-from-end-of-list/
  • 文章讲解/视频讲解:https://programmercarl.com/0019.%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E5%80%92%E6%95%B0%E7%AC%ACN%E4%B8%AA%E8%8A%82%E7%82%B9.html

方法:双指针,快指针定位到正数的n步,然后快慢指针一起相同速度运动,当快指针定位到末尾的时候,慢指针运动到的位置就是要删除的位置

class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dummy=new ListNode(0,head);ListNode fast=dummy;ListNode slow=dummy;while(n-->0){//for(int i=0;ifast=fast.next;}    while(fast.next!=null){slow=slow.next;fast=fast.next;}slow.next=slow.next.next;return dummy.next;}
}

3. 链表相交(面试题 02.07.)

  • 题目链:
    https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/
  • 文章讲解:https://programmercarl.com/%E9%9D%A2%E8%AF%95%E9%A2%9802.07.%E9%93%BE%E8%A1%A8%E7%9B%B8%E4%BA%A4.html

思路

  1. 求出两个链表的长度,并求出两个链表长度的差值,然后让curA移动到,和curB 末尾对齐的位置
  2. 比较curA和curB是否相同,如果不相同,同时向后移动curA和curB,如果遇到curA == curB,则找到交点;否则循环退出返回空指针

4. 环形链表II(142)

  • 题目链接/文章讲解/视频讲解:https://programmercarl.com/0142.%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8II.html

5. 链表总结

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...