标签:leetcode
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 depthOfTree(root); } public int depthOfTree(TreeNode root){ if(root.left == null && root.right == null){//叶子节点 return 1; } int left = 0; if(root.left != null) left = depthOfTree(root.left); int right = 0; if(root.right != null) right = depthOfTree(root.right); if(left != 0 && right != 0) return 1 + (left < right ? left : right); else if(left != 0) return 1 + left; else return 1 + right; } }
Runtime: 257 ms
标签:leetcode
原文地址:http://blog.csdn.net/havedream_one/article/details/42557957