题解 | #二叉树的最小深度#

二叉树的最小深度

http://www.nowcoder.com/practice/e08819cfdeb34985a8de9c4e6562e724

用一个全局变量min记录最小的节点深度即可。使用前序遍历,每次遍历前先把深度求出,如果某节点左右孩子为空则判断深度是否小于最小深度。如果小于最小深度则更新最小深度。

import java.util.*;
public class Solution {
    Integer min = Integer.MAX_VALUE;
    public int run (TreeNode root) {
        if(root==null)return 0;
        preOrder(root,0);
        return min;
    }
    void preOrder(TreeNode root,int depth){
        if(root!=null){
            ++depth;
            if(root.left==null&&root.right==null){
                if(min>depth)
                    min = depth;
            }
            preOrder(root.left,depth);
            preOrder(root.right,depth);
            --depth;
        }
    }
}
全部评论

相关推荐

在debug的柠檬精很迷人:好消息:现在HR挑三拣四 15年后 HR跪着求要简历 坏消息:被挑的是这代人,到时候求人的也是这代人。真好。
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务