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; }}新聞熱點
疑難解答