疏凉
疏凉
全部文章
分类
题解(101)
归档
标签
去牛客网
登录
/
注册
疏凉的博客
全部文章
(共11篇)
题解 | #删除链表中重复的结点#
设置虚拟头结点,用于记录最终返回结果; 定义pre记录不重复节点,cur用于判断当前节点是否重复; 如果出现重复节点,cur指向当前重复节点的最后一个; pre下一节点指向非重复节点(当前重复节点最后一个的下一个节点); 如果当前节点不重复,保留当前节点; 遍历结束,返回最终结果。 /* stru...
C++
链表
2022-04-28
0
277
题解 | #二叉搜索树与双向链表#
定义TreeNode数组,存入中序遍历结果; 建立双向链表关系,返回链表头结点。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x)...
C++
二叉搜索树
链表
2022-04-27
0
287
题解 | #链表的奇偶重排#
节点的编号按奇偶重排; 定义奇偶节点(cur1为奇,cur2为偶),并记录初始节点; cur1->next为cur2->next(奇),更新cur1; cur2->next为cur1->next(偶),更新cur2; (奇)cur1->next=(偶)cur2; 返回c...
C++
链表
2022-04-13
0
241
题解 | #判断链表中是否有环#
快慢指针,慢指针走一步,快指针走两步; 如果快慢指针相遇,有环; 否则,无环。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ...
C++
链表
2022-04-13
0
197
题解 | #链表中环的入口结点#
快慢指针相遇,判断有环 同时移动头节点和相遇时的快指针,再次相遇时,头节点便移动到了环入口处 while (fast && fast->next) { slow = slow->next; fast = f...
C++
链表
2022-03-02
0
201
题解 | #两个链表的第一个公共结点#
获取链表长度,链表尾端对齐 while (cur1) { len1++; cur1 = cur1->next; } while (cur2) { len2++; ...
C++
链表
2022-03-02
0
195
题解 | #合并两个排序的链表#
递归法 判断条件 if (pHead1 == NULL) return pHead2; if (pHead2 == NULL) return pHead1; 比较节点值的大小 if (pHead1->val < pHead2-&g...
C++
链表
2022-03-02
0
213
题解 | #合并两个排序的链表#
有至少一个链表为空 if (pHead1 == NULL) return pHead2; if (pHead2 == NULL) return pHead1; 定义虚拟头节点,存放结果 ListNode* result = new ListNo...
C++
链表
2022-03-02
0
279
题解 | #链表中倒数最后k个结点#
判断链表是否为空 if (pHead == NULL) return pHead; 采用快慢指针 ListNode* fast = pHead; ListNode* slow = pHead; 判断k是否大于链表长度 ListNode* dummy = NULL; while (k--...
C++
链表
2022-03-02
0
241
题解 | #删除链表的节点#
设置虚拟头结点 ListNode* dummyHead = new ListNode(0); dummyHead->next = head; 删除节点 ListNode *cur = dummyHead; while (cur->next != N...
C++
链表
2022-03-02
0
222
首页
上一页
1
2
下一页
末页