![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
想握紧风
这个作者很懒,什么都没留下…
展开
-
LeetCode 141.环形链表 C++语言实现
思路1:使用set存储判断有无环,可以使用set集合,判断是否有节点已经在集合中,如果在就有环,如果遍历完,没有重复节点,就代表无环时间复杂度O(n)空间复杂度O(n) 因为使用了一个set集合struct ListNode{ int val; ListNode * next; ListNode(int x) : val(x) , next(NUL...原创 2019-05-15 21:52:03 · 108 阅读 · 0 评论 -
LeetCode 21.合并两个有序链表 C++语言实现
思路1:使用数组 然后进行排序将两个节点都放入数组中,数组sort一下,然后再接上时间复杂度(nlogn) 比较简单就不写了思路2:函数名字中有merge 就该想到归并排序的合并部分,同时利用链表有序的特点用一个新链表, 判断两条链表当前note的大小,如果小就挂到新链表上。最后返回新链表头即可class Solution {public: ...原创 2019-05-15 23:55:31 · 150 阅读 · 0 评论 -
LeetCode 23.合并K个排序链表 C++实现
思路1:按照21的思路,比较所有链表的值,最小的挂到新链表上,比较复杂,时间也很慢 排除思路2:存到数组中,对数组排序,然后再重新链接 时间复杂度(kN*logkN)struct ListNode{ int val; ListNode * next; ListNode(int x) : val(x) , next(NULL){}};//因为...原创 2019-05-16 00:18:47 · 351 阅读 · 0 评论