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.
结题思路:
- 根节点为空,最小深度为0;
- 左子树为空,输出右子树深度+1
- 右子树为空,输出左子树深度+1
- 否则,输出左子树深度和右子树深度的最小值+1
-
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public int run(TreeNode root) { if(root==null) return 0; if(root.left==null) { return (run(root.right)+1); } else if(root.right==null) { return (run(root.left)+1); }else{ return (Math.min(run(root.left),run(root.right))+1); } } }