标签:des style blog http color io os ar java
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.
/** * Definition for binary tree * 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; } return helper(root); } //这个题目和求最大(最小深度)不一样的是要走到叶子节点才算行,也就说要到了叶子节点才OK //最开始的时候采取了(root == null)的判断,报错,是因为对根节点的处理中认为是求最大的深度,而最小的深度实际是到了 //叶子节点之后才算行 int helper(TreeNode root) { if (root.left == null && root.right == null) { return 1; } if (root.left == null) { return helper(root.right) + 1; } if (root.right == null) { return helper(root.left) + 1; } else { return Math.min(helper(root.left),helper(root.right)) + 1; } } }
LeetCode My Solution: Minimum Depth of Binary Tree
标签:des style blog http color io os ar java
原文地址:http://blog.csdn.net/aresgod/article/details/39778085