代码随想录训练打卡第四天24. 两两交换链表中的节点 19.删除链表的倒数第N个节点面试题 02.07. 链表相交142.环形链表II

● 24. 两两交换链表中的节点

算法思想:设置父节点,指向头节点。要操作两个节点进行交换,必须要站在两个节点之外的前一个节点进行操作。

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

算法思想:双指针。遍历节点,计算长度,求差即可以找到要删除的节点的前一个节点。

● 面试题 02.07. 链表相交

算法思想:分别计算两个链表的长度,求出长度差c。长的链表的指针先走c步,短的链表指针在头指针位置保持不变。此时a、b两个链表指针剩下要走的长度是一致的。

同时操作两个指针,直到他们相遇的位置,就是相交的节点。

● 142.环形链表II

算法思想:

1.设置两个快慢指针,快指针走2步的时候,慢指针走1步。相遇的时候肯定在环里。如果指针为空,说明不存在环,直接返回。

2.此时可以操作指针计算环的大小count.

3.设置前后两个指针,分别指向头节点。前指针先走count步,再同时操作两个节点同时走,直到两个节点相遇就是换的入口节点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容