首页 > 其他分享 >代码随想录打卡第4天 |两两交换链表中的节点,删除链表的倒数第N个节点,链表相交,环形链表II

代码随想录打卡第4天 |两两交换链表中的节点,删除链表的倒数第N个节点,链表相交,环形链表II

时间:2023-02-19 12:23:12浏览次数:46  
标签:set cur 随想录 next 链表 节点 指针

两两交换链表节点

  1, 三指针  pre指向要交换的两点之前, cur指向一节点, temp指向下一节点 

  2, 交换完时 while(pre.next!=null&&pre.next.next!=null)

删除倒数节点

  1, 快慢指针, 快指针先走n步

  2, 终止条件 while(n.next!=null) 

链表相交(两种方法,set集合法 和 求出距离 偏移到同一起始index)

  set集合法 (利用集合不能添加重复元素的特性)

  1,if(!set.add(cur)) return cur;

  求出距离 偏移到同一起始index

 

环形链表II (两种方法 set集合和快慢指针法)

  set集合法 (利用集合不能添加重复元素的特性)

  1,if(!set.add(cur)) return cur;

  快慢指针法 

  1, 快指针一次性移动两格  满指针一格

  2, 两者相遇说明链表有环, tempA指针从head出发 tempB指针从相遇节点出发 两者相遇的点就是环的起始点

 

下面是链表的总结

  1,while(cur!=null) 此循环结束时 cur指向最后节点的next位(null)

  2, while(cur.next!=null) 此循环结束时 cur指向最后节点

  3, 推动指针前进 cur=cur.next

  4, 改变指针next指向 cur.next=temp  

 

标签:set,cur,随想录,next,链表,节点,指针
From: https://www.cnblogs.com/Liu5419/p/17134511.html

相关文章