- 博客(3)
- 收藏
- 关注
原创 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 379
原创 LeetCode 21.合并两个有序链表 C++语言实现
思路1:使用数组 然后进行排序 将两个节点都放入数组中,数组sort一下,然后再接上 时间复杂度(nlogn) 比较简单就不写了 思路2:函数名字中有merge 就该想到归并排序的合并部分,同时利用链表有序的特点 用一个新链表, 判断两条链表当前note的大小,如果小就挂到新链表上。最后返回新链表头即可 class Solution { public: ...
2019-05-15 23:55:31 176
原创 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 135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人