cocolor
cocolor
全部文章
分类
题解(33)
归档
标签
去牛客网
登录
/
注册
cocolor的博客
全部文章
(共33篇)
题解 | #二叉搜索树的后序遍历序列#
递归与非递归 递归 后续遍历最后一位肯定是中间值,根据这个值把数组划为两半,左边肯定是左子树,都得小于中间值,右边是右子树,都得大于中间值。然后看左右字数各自也得满足上述规律。因为分割后左右子树为空也是满足条件的,但是题目说空的不是搜索树,所以要单独再写一个回溯函数。使用下标作为传递的参数可以减少v...
2021-05-25
0
326
题解 | #从上往下打印二叉树#
层序遍历,队列 class Solution { public: vector<int> PrintFromTopToBottom(TreeNode* root) { queue<TreeNode*> s; vector<int&...
2021-05-25
0
241
题解 | #栈的压入、弹出序列#
刚开始代码写的很不简洁,超时了,举例子也都能过,如下: class Solution { public: bool IsPopOrder(vector<int> pushV,vector<int> popV) { stack<int> s;...
2021-05-23
0
319
题解 | #包含min函数的栈#
让都O(1)就得想办法存最小值,这个最小值还要能够随着栈操作相应的变化,所以采用一个辅助栈用来存最小值 class Solution { public: stack<int> stack,mstack; void push(int value) { sta...
2021-05-18
0
370
题解 | #顺时针打印矩阵#
注意边界情况,如果始终保持左闭右开会造成奇数行列时(四个for循环互相推诿)漏掉。故采用以下方法 class Solution { public: vector<int> printMatrix(vector<vector<int> > matrix) {...
2021-05-17
0
410
题解 | #二叉树的镜像#
递归会超时,调了半天都是只能通过自测,还是老老实实层序遍历吧 class Solution { public: TreeNode* Mirror(TreeNode* pRoot) { // write code here TreeNode* tmp; ...
2021-05-13
0
399
题解 | #树的子结构#
直接两种递归会超时,还是改成了先判断一下下一层是否满足,不然一直递归下去了 class Solution { public: bool backtracking(TreeNode* p1, TreeNode* p2){ if(!p2) return true; ...
2021-05-13
0
388
题解 | #合并两个排序的链表#
构建头节点一定要初始化 (归并排序)的应用 class Solution { public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(!pHead1) return pHead2; if...
2021-05-13
0
449
题解 | #反转链表#
要三个指针 class Solution { public: ListNode* ReverseList(ListNode* pHead) { if(!pHead) return NULL; ListNode* pre=NULL; ListNo...
2021-05-12
0
422
题解 | #链表中倒数第k个结点#
双指针。一个先走k-1步,然后大家再一起走 class Solution { public: ListNode* FindKthToTail(ListNode* pHead, int k) { if(!pHead) return NULL; ListNode*...
2021-05-12
0
302
首页
上一页
1
2
3
4
下一页
末页