首页 > 其他 > 详细

LeetCode | Minimum Depth of Binary Tree

时间:2017-04-28 22:57:57      阅读:323      评论:0      收藏:0      [点我收藏+]

题目:给定一个二叉树,找到其最小深度。最小深度是从根节点到最近叶节点的最短路径的节点数。

 1 /**
 2      * Definition for binary tree
 3      * public class TreeNode {
 4      *     int val;
 5      *     TreeNode left;
 6      *     TreeNode right;
 7      *     TreeNode(int x) { val = x; }
 8      * }
 9      */
10     /**
11     最小深度为:根节点到达最近叶节点的最短路径
12     总体思想是:左子树最小深度+1,右子树最小深度+1,取小的一个
13     需要考虑:当树只有一个子树的情况下,最小深度为:左右子树的最大值
14     */
15     public class Solution {
16         public int run(TreeNode root) {
17             if(root == null)
18                 return 0;
19            
20             int left = run(root.left) + 1;
21             int right =run(root.right) + 1 ;
22             
23             if(left == 1 || right == 1)
24                 return left > right ? left : right;
25             else
26                 return left > right ? right : left;
27         }
28     }

 

LeetCode | Minimum Depth of Binary Tree

原文:http://www.cnblogs.com/huangyichun/p/6783494.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!