Leetcode____tree
Kobe Forever
自信乐观,善待他人,善待自己!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指offer 面试题33 二叉搜索树的后序遍历序列
问题:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 输入:vector<int> sequence 输出:bool 思路: 首先,找到根节点(后序遍历中,为最后一个节点); 然后,找到左子树,和右子树; 最后,递归判断左子树,右子树是否满足二叉搜索树的条件。 代码: cl...原创 2020-03-20 22:06:32 · 177 阅读 · 0 评论 -
剑指offer 面试题32-3 之字形打印二叉树
问题:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 输入:二叉树的头结点 输出:vector<int> result 思路: 设置标志变量,分别处理奇数层和偶数层。 (*=1-*来更新*,*为标志变量) 代码: /* struct TreeNode { int v...原创 2020-03-20 21:26:20 · 137 阅读 · 0 评论 -
leetcode[102] Binary Tree Level Order Traversal
问题:给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 输入:二叉树头节点 输出:按层次遍历的节点值 思路: 开辟两个queue,一个保存当前层节点,另外一个保存下一层节点。 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * ...原创 2020-03-20 20:43:42 · 128 阅读 · 0 评论 -
leetcode[111]Minimum Depth of Binary Tree
问题:给定二叉树,找其最小深度(叶子节点到根节点最短路径上的节点个数) 输入:TreeNode* root 输出:minimum_depth 思路:递归。一开始想着,只要一个儿子结点为NULL,便得到了最小深度,其实不是的,输入样例[1,2]便可证明。 看了[1]才明白自己错在哪里了,题目要求的是叶子结点到根结点最短路径,必须找到叶子结点,才可退出递归。 /** * Definiti...原创 2019-03-02 20:01:12 · 166 阅读 · 0 评论 -
leetcode[104]Maximum Depth of Binary Tree
问题:给定二叉树,找树的最大深度(即叶子结点到根结点最大深度) 输入:TreeNode* root 输出:max_depth 思路:在leetcode[111]的树的最小深度[1]的基础上,同理。不废话,直接上代码。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * ...原创 2019-03-02 21:13:59 · 175 阅读 · 0 评论 -
leetcode[112]Path Sum
问题:给定二叉树和一个数,判断是否存在叶子结点到根结点路径和等于给的数。 输入:TreeNode* root, int sum 输出:true/false 思路:分不同情况递归。 wrong answer case []0,下面的代码output true,Expected 为false。 代码段 小部件 进行改进。加入判断后,又WA了。 [1,2] 1 ...原创 2019-03-02 22:15:05 · 190 阅读 · 0 评论 -
leetcode[100]Same Tree
问题:给定两个二叉树,判断是否相同。(树的结构和元素均相同)[1] 输入:TreeNode*p,TreeNode*q 输出:true /false 思路:DFS,遇到不相同的,则返回false。否则,遍历完成后,返回true。 /** * Definition for a binary tree node. * struct TreeNode { * int val;...原创 2019-03-03 16:54:26 · 165 阅读 · 0 评论
分享