当前位置:   article > 正文

链表-刷题总结_cur.next = secondnode;在链表里面,等号左右边谁指向谁

cur.next = secondnode;在链表里面,等号左右边谁指向谁

数据结构理解

关于链表解法很好的总结:https://suanfa8.com/data-structure-basic/linked-list/practice/

设计好一个结点,里面包含指向后继的属性,那么这就构成了一个链表。手动建链表本质就是设计一个有后继属性的数据结构。

题目类型总结

合并链表

分割链表

技巧总结

快慢指针寻找中间节点

fast每次前进2个节点,slow每次前进1个节点。
若fast,slow都是从起始节点head出发,则当fast == null || fast.next == null时,slow指向的节点是最中间的节点(若节点的个数是奇数)或右半边的第一个节点(若节点的个数是偶数)。

想要处理左半边的最后一个节点的后继,则应该让fast从head.next出发。
fast从head.next出发,slow从起始节点head出发,则当fast == null || fast.next == null时,slow指向的节点是最中间的节点(若节点的个数是奇数)或左半边的最后一个节点(若节点的个数是偶数)。

若存在环,fast,slow都从起始节点head出发,则当他们相遇时,fast走过的路径是slow的两倍。

node.next的理解

node.next在等号左边表示node的后继索引。
node.next在等号的右边表示node的后继结点。

一个是指针,一个是结点。

注意给最后一个结点的后继赋空

比如,206. 反转链表递归解法中,一定是要给当前结点head的后继赋空,否则回到上一层递归中,做遍历时会陷入死循环。
又比如,牛客题目NC207 排序奇升偶降链表中,如果不给分离后的odd后继赋nu

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/523670
推荐阅读
相关标签
  

闽ICP备14008679号