三木orz
三木orz
全部文章
分类
经验总结(2)
题解(20)
归档
标签
去牛客网
登录
/
注册
三木的博客
记录刷题过程~
全部文章
(共43篇)
题解 | #删除有序链表中重复的元素-II#
设置头节点方便处理 双指针,pre指向已处理好的链表的最后一个节点,p指向当前要判断的节点 while循环遍历链表,停止条件是p为空或p->next为空 当当前节点与下一节点相等时,while循环找到与当前节点不等的节点tmp,将pre指向tmp,当前节点更新为tmp,继续判断当前...
C++
2022-03-05
0
316
题解 | #删除有序链表中重复的元素-I#
双指针,flag标记唯一数,cur标记当前位 class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(!head) return head; // write code ...
C++
2022-03-04
3
418
题解 | #链表的奇偶重排#
方法一 辅助数组 用两个数组分别储存odd和even位上的值,再修改原链表上节点的val class Solution { public: ListNode* oddEvenList(ListNode* head) { // write code here ...
C++
2022-03-04
0
272
算法题中的经验总结
快慢指针 在“判断链表是否有环”中,快慢指针同时从head出发 在“对单链表进行排序”中的归并排序,要找到链表的中点,则快指针从head->next出发,慢指针从head出发,这样,当快指针指向Null时,慢指针指向中心左边的节点(链表长度为偶数)或链表中点(链表长度为奇数) 一些值得...
C++
2022-03-01
0
310
算法题中的经验总结
快慢指针 在“判断链表是否有环”中,快慢指针同时从head出发 在“对单链表进行排序”中的归并排序,要找到链表的中点,则快指针从head->next出发,慢指针从head出发,这样,当快指针指向Null时,慢指针指向中心左边的节点(链表长度为偶数)或链表中点(链表长度为奇数) 未完待续...
C++
2022-03-01
0
215
题解 | #单链表的排序#
方法1 开辟新数组 空间复杂度:O(n) ---开辟了一个大小为n的数组储存元素 时间复杂度:O(nlogn) ---对数组里的元素进行排序 根据排序好的数组新建链表 /** * struct ListNode { * int val; * struct ListNode *next; ...
C++
2022-02-28
0
226
题解 | #链表相加(二)#
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} ...
C++
2022-02-28
0
245
题解 | #删除链表的倒数第n个节点#
双指针,先让p走到第n+1个节点处,让q指向头节点,然后p、q同时前进,当p走到链表尽头时,q正好走到倒数第n+1个节点,即要被删除的节点的前一个节点。删除节点。若删除的节点不是头节点,则返回头节点,否则返回头节点指向的下一个节点 /** * struct ListNode { * int va...
C++
2022-02-28
0
284
题解 | #链表中环的入口结点#
先判断有没有环,若有,设置两个指针,一个指向链表起点,一个指向相遇点,同时开始移动,相遇点即为环的入口节点 class Solution { public: ListNode* EntryNodeOfLoop(ListNode* pHead) { ListNode* meet...
C++
2022-02-28
0
284
题解 | #判断链表中是否有环#
设置快慢指针,当快慢指针相遇时,说明链表中有环,一旦某个指针指向空,说明无环 如果先判断再位移,初始时fast和slow指向同一个节点,要单独讨论 if(fast->next->next && slow->next){ fast = fa...
C++
双指针
2022-02-27
0
236
首页
上一页
1
2
3
4
5
下一页
末页