疏凉
疏凉
全部文章
分类
题解(101)
归档
标签
去牛客网
登录
/
注册
疏凉的博客
全部文章
(共101篇)
题解 | #两个链表的第一个公共结点#
获取链表长度,链表尾端对齐 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
题解 | #反转链表#
双指针: 遍历和反转 ListNode* cur = pHead; ListNode* pre = NULL; ListNode* next = NULL; while (cur != NULL) { nex...
C++
链表
2022-03-01
0
224
题解 | #用两个栈实现队列#
一个栈用来输入,另一个用来输出。 push:直接将元素压入输入栈 stack1.push(node); pop: 输出栈为空时,将输入栈的所有元素压入输出栈 if (stack2.empty()) { while (!stack1.empty()...
C++
栈
队列
2022-03-01
0
195
题解 | #从上往下打印二叉树#
定义队列处理二叉树 queue<TreeNode*> que; if (root != NULL) que.push(root); 遍历存储每层结果 while (!que.empty()) { int size = que.size();...
C++
二叉树
2022-03-01
0
227
题解 | #二叉树的深度#
采用队列进行处理 queue<TreeNode*> que; que.push(pRoot); 2.记录层数 while (!que.empty()) { int size = que.size(); depth++; ...
C++
二叉树
2022-03-01
0
256
题解 | #二叉树的镜像#
迭代法: 将二叉树放入栈中进行操作 stack<TreeNode*> st; st.push(pRoot); 交换当前节点的左右子树 TreeNode* node = st.top(); st.pop(); swap(node->left, node-right); ...
C++
二叉树
2022-03-01
0
222
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页