下一章 上一章 目录 设置
7、7.21 又是链表 ...
-
21.合并两个有序链表
方法一:递归 。这个不太熟悉,后续会在二叉树中进行专题总结和归纳
方法二:建立一个头指针后,对两个链表一一进行比较
23.合并k个升序链表 虽为困难题,但是做了21题就不难,只需要调用两个指针的函数即可,注意的是主函数应该建立一个空指针,而不是头节点为空的新指针。
86.分隔链表. 建立两个链表,一个存放小于x的节点,一个存放大于x的节点。
需要注意的是:遍历结束后,我们将large 的 next 指针置空,这是因为当前节点复用的是原链表的节点,而其next 指针可能指向一个小于 x 的节点,我们需要切断这个引用。(不太理解,有待解决)
876.链表的中间结点。
方法一:计算出链表长度,后进行一次遍历
方法二:快慢指针,fast=2*slow后,同时向后遍历,当fast指针到链表尾端时,slow所值的位置就是中间节点。
206.反转链表
方法一:用栈我觉得最简单,但是遍历结束要将next指针置空,我不太能理解,有待解决
方法二:老办法,建立一个空链表,来回颠倒呗(没搞明白,看讲解还是懵的)
PS:开心心,修勾下班一对一辅导,已经全部弄懂了,不愧是我的小宝贝
明天重新模拟一下反转链表,嘻嘻嘻嘻嘻
unique_ptr是什么?
是独占所有权的智能指针,有助于避免发生异常时的资源泄漏,唯一指针unique_ptr不允许使用赋值语法进行初始化,而必须使用普通指针直接初始化。唯一指针unique_ptr可以为空。