[leetcode] MinimumDepthofBinaryTree

package leetcode;

/**
*
* <pre>
* 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.
* </pre>
*
*/
public class MinimumDepthofBinaryTree {

    public class TreeNode {
        int      val;
        TreeNode left;
        TreeNode right;

        TreeNode(int x) {
            val = x;
        }
    }

    public class Solution {
        public int minDepth(TreeNode root) {
            if (root == null) {
                return 0;
            }
            if (root.left == null)
                return minDepth(root.right) + 1;
            if (root.right == null)
                return minDepth(root.left) + 1;
            return 1 + Math.min(minDepth(root.left), minDepth(root.right));
        }
    }
}

你可能感兴趣的:(LeetCode)