leetcode 111二叉树的最小深度】的更多相关文章

111. 二叉树的最小深度 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2. class Solution { public int minDepth(TreeNode root) { if (root == null) { return 0; } // null节点不参与比较 if…
题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度  2. 思路分析: 一开始的思路是直接求二叉树的最小深度,后来发现题目限定了必须是到叶结点的路径长度最短.所以需要判断当前结点是否是叶结点.判断若左子树为空,则返回右子树的到叶子结点的最短路径:否则返回左子树到叶结点的最短路径.…
问题 给出一棵二叉树,找出它的最小深度. 最小深度是指从根节点沿着最短路径下降到最近的叶子节点所经过的节点数. 初始思路 不难看出又是一个需要层次遍历二叉树的题目,只要在112基础上作出简单修改即可得出答案. class Solution { public: int minDepth(TreeNode *root) { if(!root) { ; } treeLevel_[].clear(); treeLevel_[].clear(); depth_ = ; bool flag = false;…
题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 思路一: 把每一层的结点加入到队列,每一层i+1,到下一层时,把上一层在队列中的结点都弹出,按从左到右把下一层的结点逐个加入,如果首次遇到一个结点没有左子结点与右子节点,则返回i class Solution(object): def minDepth1(self, root): """ 按层次遍历,寻找第一个叶节点(左孩和右孩都为空) """…
使用深度优先搜索:时间复杂度O(n),空间复杂度O(logn) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int minDepth(TreeNode…
111. 二叉树的最小深度 知识点:二叉树,递归 题目描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 输入:root = [3,9,20,null,null,15,7] 输出:2 输入:root = [2,null,3,null,4,null,5,null,6] 输出:5 解法一:递归法 函数功能:求一颗二叉树的最小深度 1.终止条件:root == null, return 0: 2.该做什么:此题和…
最小深度,看起来很简单,就是左右节点的深度最小值 定义一个函数,计算其深度 class Solution { public int minDepth(TreeNode root) { if(root == null) { return 0; } else if(root.left == null && root.right ==null) { return 1; } else { int left = Depth(root.left); int right = Depth(root.rig…
题目: 给定一个二叉树,找出其最小深度. 注意最小深度的定义! 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 一.递归法 时间复杂度:O(n).需要遍历每一个节点. 空间复杂度:最差情况下,当一棵树是非平衡树的时候,例如每个节点都只有一个孩子,树的高度为n,会产生n次递归调用,因此栈的空间开销是O(N).但在最好情况下,树的高度只有log(n),栈的空间开销是O(log(N)). /** * Definition for a binary tr…
/* * @lc app=leetcode.cn id=111 lang=c * * [111] 二叉树的最小深度 * * https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/description/ * * algorithms * Easy (37.27%) * Total Accepted: 12.2K * Total Submissions: 32.6K * Testcase Example: '[3,9,20,nu…
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 二叉树的经典问题之最小深度问题就是就最短路径的节点个数,还是用深度优先搜索DFS来完成,万能的递归啊...请看代码: /** * Definition for binary tre…