- 博客(3)
- 收藏
- 关注
原创 24. 两两交换链表中的节点
主要是记录中间状态, before以及after两个指针。另外注意终止条件:while(before->next!=NULL&&before->next->next!=NULL){ 避免报错。 另外还有别人总结的递归的骚解法。 // 我的解法 classSolution{ public: ListNode*swapPairs(List...
2020-01-05 19:06:50 55
原创 23. 合并K个排序链表
这个就是分治算法的一个实例。K个合并,先是两两合并,然后最后merge在一起。这里有两个trick,一个是用合并了的lsit替换合并的第一个.另外就是再size是奇数的处理,画一个实例图可解。 c++ 遗忘知识点:除法默认是向下取整,3/2 =1 。 分治算法: 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原...
2020-01-05 17:56:13 79
原创 8. 四数之和
基本和3sum 差不多,都是双指针,只不过多了一层循环,所以算法时间复杂度是o(n3), 空间复杂度是O(1). vector<vector<int>>fourSum(vector<int>&nums,inttarget){ if(nums.size()<4)return{}; vector&...
2020-01-01 13:47:40 85
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人