树
时长两年半的练习生
这个作者很懒,什么都没留下…
展开
-
树-二叉树的最小深度(leetcode 111)
二叉树的最小深度 思路:遍历二叉树,找到二叉树的叶子节点,而不是空节点,返回深度1, 对于二叉树的其它节点递归其子节点并加1. 答案: class Solution { public: int minDepth(TreeNode* root) { if(!root) return 0; int left=minDepth(root->left),right=minDepth(root->right); return原创 2020-06-07 22:56:27 · 123 阅读 · 0 评论 -
树-二叉搜索树的最近公共祖先(leetcode 235)
二叉搜索树的最近公共祖先 思路: 二叉搜索树,对于二叉搜索树中的每一个节点,其左子节点的值小于当前节点的值,右子节点的值大于当前节点的值。 递归寻找相应节点。 如果两个节点不分布在以一个节点为根的同一侧,则此节点为祖先。 那么我们可以在两个节点在同一侧时,根据二叉搜索树的特性进行缩小树的范围。 答案: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;原创 2020-06-07 22:24:44 · 110 阅读 · 0 评论 -
树-左叶子之和(leetcode 404)
左叶子之和 链接 思路: 考察二叉树的遍历,遍历每一个节点,判断其是否为左叶子节点,将其值返回。 答案: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class原创 2020-06-07 22:07:15 · 101 阅读 · 0 评论 -
树-N叉树的后序遍历(leetcode 590)
N叉树的后序遍历 链接 题目描述: 思路: 考查树的遍历, 遇到的问题: 1、c++中如何合并两个vector,可以使用vector的insert方法,如合并两个vector,x1与x2,到x1中,可以 x1.insert(x1.begin(), x2.begin(), x2.end()) 2、c++中for循环遍历数组nums可以使用: for(type x : nums) 其中x即为nums中的元素 答案: /* // Definition for a Node. class Node { publi原创 2020-06-06 10:28:09 · 109 阅读 · 0 评论 -
树-检查二叉树的平衡性(leetcode)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-06-05 20:32:16 · 188 阅读 · 0 评论