- 两两交换链表中的节点
- cur移动的时候,应该后移动俩位,或者说移动到下一操作节点的前一位
- 删除链表的倒数第N个节点
- 因为slow删除元素是要在删除元素的前一位进行删除,所以while ( k--) 移动的fast还不够,还需要再往后移动一位,这样才能让slow指向正确的位置
- 链表相交
- 如果最后是相交的链表,相交部分是一条链,所以只需要把它们尾部对齐,从短链位置出发,遍历判断有无相等即可文章来源:https://www.toymoban.com/news/detail-603562.html
- 环形链表II
- 哈希表
- 用一个unordered_set记录遍历过的ListNode* 即可,如果碰到相同的即可返回,遍历结束那就return nullptr
- 双指针
- 这个太难想到了,第一次做
- 1. 判断有无环
- 让fast指针一次走2步,slow一次1步,如果有环,fast则是相对于slow每次1步的速度逼近slow,所以在某个时刻一定它们会相遇
- 2. 寻找位置
- 相遇点出发和head出发,最终新的相遇的地方就是我们要找的环点
文章来源地址https://www.toymoban.com/news/detail-603562.html
到了这里,关于day4 两两交换链表中的节点 删除链表的倒数第N个节点 链表相交 环形链表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!