Q:求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。
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.
A:
注意,一定要是根节点到叶节点的。所以要判断根节点是否有孩子。
public int run(TreeNode root) {
if (root == null)
return 0;
int l = run(root.left);
int r = run(root.right);
return (min(l, r)) + 1;
}
public int min(int a, int b) {
if (a == 0)
return b;
if (b == 0)
return a;
return a < b ? a : b;
}