爱程序网

[LeetCode] Minimum Depth of Binary Tree

来源: 阅读:

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.

 

     这道题个人觉得其实思路和之前那个maximum depth的题思路差不多。那道题能做这道题也就没问题了。

     代码如下。~

/**
 * Definition for a binary tree node.
 * 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;
        }
        int min=Integer.MAX_VALUE;
        Stack<TreeNode> tree=new Stack<TreeNode>();
        Stack<Integer> value=new Stack<Integer>();
        tree.push(root);
        value.push(1);
        while(!tree.isEmpty()){
            TreeNode temp=tree.pop();
            int val=value.pop();
            if(temp.left==null&&temp.right==null){
                min=Math.min(val,min);
            }
            if(temp.right!=null){
                tree.push(temp.right);
                value.push(val+1);
            }
            if(temp.left!=null){
                tree.push(temp.left);
                value.push(val+1);
            }
        }
        return min;
    }
}

 

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助