![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lintcode
文章平均质量分 68
yes蒋淼淼
这个作者很懒,什么都没留下…
展开
-
Lintcode 165. 合并两个排序链表 拼接,递归,新建
/** * Definition of singly-linked-list: * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } ...原创 2018-03-24 13:18:44 · 178 阅读 · 0 评论 -
104. Merge K Sorted Lists
利用之前做过的合并两个链表的函数,进行逐一合并。但是第二种方法也就是新建链表的方法,由于需要 不断开辟新的空间,有没有清除,所以会超出空间限制哦~/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * ...原创 2018-03-25 16:32:50 · 170 阅读 · 0 评论 -
剑指offer链表添加,删除元素中传入的pHead为什么要是指向头指针的指针问题
总结来说,是因为当增删的元素位置在链表首位时,如果传入的实参是头指针,相当于是把实参指向的结构的位置传入进来,让形参指向这个位置,那么当形参的指针指向发生变化时,最终实参还是指向它原来指向的位置。顺便想想为什么在变化的节点不位于首位时,传入头指针是没问题的呢?因为形参指针与实参指针开始时指向同一位置,之后操作时,形参指针向后遍历,改变的是实参指向的链表的结构,因此当操作完成后,并不需要改变实参原创 2018-05-02 15:32:28 · 1990 阅读 · 2 评论 -
剑指offer 2.3.3链表所有操作
从头到尾遍历的时候已经可以取出节点值,想要倒序打印,只需要将节点存储以后再反序输出。可以用栈实现,这里提供的是vector迭代器取出的实现方法。#include using namespace std;struct ListNode{ int data; ListNode* pnext;};void addtotail(ListNode** pHead, int valu原创 2018-05-04 13:44:47 · 174 阅读 · 0 评论