力扣算法题—111.Minimum Depth of Binary Tree

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.

Note: A leaf is a node with no children.

Example:

Given binary tree [3,9,20,null,null,15,7],

    3
   /   9  20
    /     15   7

return its minimum depth = 2.

Solution:

  使用深度遍历和广度遍历

 1 class Solution {
 2 private:
 3     int minLevel = INT32_MAX;
 4 public:
 5     int minDepth(TreeNode* root) {
 6         if (root == nullptr)return 0;
 7         //return BFS(root);
 8         int res = INT32_MAX;
 9         DFS(root, 1, res);
10         return res;
11     }
12
13     int BFS(TreeNode* root)
14     {
15         queue<TreeNode*>q;
16         q.push(root);
17         int level = 0;
18         while (!q.empty())
19         {
20             queue<TreeNode*>temp;
21             ++level;
22             while (!q.empty())
23             {
24                 TreeNode* p = q.front();
25                 q.pop();
26                 if (p->left == nullptr && p->right == nullptr)return level;
27                 if (p->left != nullptr)temp.push(p->left);
28                 if (p->right != nullptr)temp.push(p->right);
29             }
30             q = temp;
31         }
32         return level;
33     }
34     void DFS(TreeNode* root, int level, int &res)
35     {
36         if (root->left == nullptr && root->right == nullptr) {
37             res = res > level ? level : res;
38             return;
39         }
40         if (root->left != nullptr)DFS(root->left, level + 1, res);
41         if (root->right != nullptr)DFS(root->right, level + 1, res);
42     }
43
44 };

原文地址:https://www.cnblogs.com/zzw1024/p/11756228.html

时间: 2024-10-12 07:21:08

力扣算法题—111.Minimum Depth of Binary Tree的相关文章

Leetcode 111. Minimum Depth of Binary Tree

111. Minimum Depth of Binary Tree Total Accepted: 114343 Total Submissions:368035 Difficulty: Easy 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 le

[LeetCode] 111. Minimum Depth of Binary Tree Java

题目: 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. 题意及分析:求一棵二叉树的最低高度,即根节点到叶子节点的最短路径.遍历二叉树,然后用一个变量保存遍历到当前节点的最小路径即可,然后每次遇到叶子节点,就判断当前叶节点高度和先

111. Minimum Depth of Binary Tree java solutions

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. Subscribe to see which companies asked this question Show Tags Show Similar Problems 1 /**

Java [Leetcode 111]Minimum Depth of Binary Tree

题目描述: 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. 解题思路: 递归. 代码描述: /** * Definition for a binary tree node. * public class TreeNode { *

Java for LeetCode 111 Minimum Depth of Binary Tree

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. 解题思路:注意minimum depth最后遍历的那个点,left right都必须为null,JAVA实现如下: public int minDepth(TreeNode roo

[LeetCode]题解(python):111 Minimum Depth of Binary Tree

题目来源 https://leetcode.com/problems/minimum-depth-of-binary-tree/ 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. 题意分析 Input: a binary tree

letecode [111] - Minimum Depth of Binary Tree

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. Note: A leaf is a node with no children. Example: Given binary tree [3,9,20,null,null,15,7

111. Minimum Depth of Binary Tree

和depth比较像 1 public int minDepth(TreeNode root) { 2 if(root == null) { 3 return 0; 4 } 5 if(root.left == null) { 6 return minDepth(root.right) + 1; 7 } 8 if(root.right == null) { 9 return minDepth(root.left) + 1; 10 } 11 return Math.min(minDepth(root.

【leetcode?python】 111. Minimum Depth of Binary Tree

# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = None class Solution(object):    depthList=[]    def minDepth(self, root):        ""&q