改变眼泪的理由
改变眼泪的理由
全部文章
分类
归档
标签
去牛客网
登录
/
注册
改变眼泪的理由的博客
全部文章
(共44篇)
题解 | #二叉搜索树的最近公共祖先#
#include <stack> class Solution { public: //思路:该树节点的值比pq都小,说明pq都在右子树,比pq都大,说明pq都在左子树,处于pq之间,说明正好一左一右,该节点就是最近公共祖先。 //另外,这题也可以用题解中的路径法来做。 int ...
2023-05-10
1
307
题解 | #二叉搜索树的后序遍历序列#
#include <vector> class Solution { public: //思路:虽然我们无法只靠后序遍历的结果就完整地构建出一棵树,但是既然有了二叉搜索树的这一限定条件(题目只说只要这个后序遍历的结果能满足是某一个二叉搜索树的遍历结果就行,也就是说,重点是放在...
2023-05-10
1
272
题解 | #二叉树的镜像#
class Solution { public: //一开始我的思路是用层序遍历+一个栈来反向构造。但一看通过率这么高就觉得应该不会这么复杂。再仔细一想,把整棵树都是镜像的问题分解到最小的子树也是镜像,这样就能解决了。因此就很简单了。 TreeNode* Mirror(TreeNode* p...
2023-05-08
1
187
题解 | #树的子结构#
//这道题的思路,看到判断B是不是A的子结构,其实就是在比较B与A的某个子树是否一致。因此在局部上,这基本是个比较两棵二叉树是否相等的问题。用solve函数正常的递归解决就行。唯一需要注意的是可以允许A戛然而止,比如A后面还有更多的孙子节点,但只要到目前为止都与B相同就行了。因此需要在solve函数...
2023-05-08
1
266
题解 | #二叉搜索树的第k个节点#
class Solution { public: stack<TreeNode*> mystack; //思路分析:这道题要求给出第k小(第k大其实也是一个道理)的数,而且是在二叉搜索数上的。由于二叉搜索数的左小右大的特性,这道题可以转化为“先遍历二叉搜索树,将树转化为...
2023-05-07
1
221
题解 | #单源最短路#
class Solution { public: int findShortestPath(int n, int m, vector<vector<int>&nbs...
图
2022-08-18
1
300
题解 | #对称的二叉树#
两种思路,层序遍历判断对称,或是直接在递归中判断。 //思路,可以用层序遍历,每一层的结果在数组中一定是镜像的。 //判断时直接在数组中预判下一层即可。  ...
二叉树
2022-08-03
1
291
题解 | #在二叉树中找到两个节点的最近公共祖先#
第一版代码。44ms,7676KB int lowestCommonAncestor(TreeNode* root, int o1, int o2) { ...
二叉树
2022-08-03
1
245
题解 | #二叉树中和为某一值的路径(二)#
第一版代码,用了栈,然后把栈拷贝后逆序复制到数组中。其实可以不用栈的,省了栈和拷贝栈的空间。能直接把数组当栈使。 stack<TreeNode*> s; void f...
二叉树
2022-08-03
1
297
题解 | #二叉树根节点到叶子节点的所有路径和#
普通版的思路……时间复杂度比较高 //这道题的本质是让我们记录每一条从根到叶子的路径 //思路是用栈来做,每抵达一个叶子节点时,就把它从栈中弹出,然后访问栈顶 &n...
二叉树
2022-08-02
1
384
首页
上一页
1
2
3
4
5
下一页
末页