【leetcode刷题笔记】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.


题解:递归解决,用私有变量minDep保存最小的深度,每当遍历到叶节点的时候就看是否需要更新。

代码如下:

 1 /**
 2  * Definition for binary tree
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     private int minDep = Integer.MAX_VALUE;
12     public void minDepthRecur(TreeNode root,int depth){
13         if(root == null)
14             return;
15         if(root.left == null && root.right == null){
16             if(minDep > depth)
17                 minDep = depth;
18             return;
19         }
20         minDepthRecur(root.left, depth+1);
21         minDepthRecur(root.right, depth+1);
22     }
23     public int minDepth(TreeNode root) {
24         if(root == null)
25             return 0;
26         minDepthRecur(root, 1);
27         return minDep;
28     }
29 }
原文地址:https://www.cnblogs.com/sunshineatnoon/p/3853623.html