【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 }

你可能感兴趣的:(LeetCode)