LeetCode_111. Minimum Depth of Binary Tree

111. Minimum Depth of Binary Tree

Easy

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.

Note: A leaf is a node with no children.

Example:

Given binary tree [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

return its minimum depth = 2.

package leetcode.easy;

public class MinimumDepthOfBinaryTree {
	@org.junit.Test
	public void test() {
		TreeNode tn11 = new TreeNode(3);
		TreeNode tn21 = new TreeNode(9);
		TreeNode tn22 = new TreeNode(20);
		TreeNode tn33 = new TreeNode(15);
		TreeNode tn34 = new TreeNode(7);
		tn11.left = tn21;
		tn11.right = tn22;
		tn21.left = null;
		tn21.right = null;
		tn22.left = tn33;
		tn22.right = tn34;
		tn33.left = null;
		tn33.right = null;
		tn34.left = null;
		tn34.right = null;
		System.out.println(minDepth(tn11));
	}

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

猜你喜欢

转载自www.cnblogs.com/denggelin/p/11617571.html