题目描述
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.
class Solution {
public int run(TreeNode root) {
if(root == null)
return 0;
int left = run(root.left);
int right = run(root.right);
if(left==0||right==0)//单子树
return left+right+1;
return left<right?left+1:right+1;
}
}
class Solution {
public int run(TreeNode root) {
if(root == null)
return 0;
if(root.left==null&&root.right==null)
return 1;
if(root.left==null)
return run(root.right)+1;
if(root.right == null)
return run(root.left)+1;
return Math.min(run(root.left)+1, run(root.right)+1);
}
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}