JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 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 public class Solution {
11     public int minDepth(TreeNode root) {
12         // IMPORTANT: Please reset any member data you declared, as
13         // the same Solution instance will be reused for each test case.
14         LinkedList<TreeNode> visiting = new LinkedList<TreeNode>();
15         LinkedList<TreeNode> next = new LinkedList<TreeNode>();
16         int count = 1;
17         if(root == null)
18             return 0;
19         visiting.add(root);
20         while(!visiting.isEmpty()){
21             while(!visiting.isEmpty()){
22                 TreeNode tmp = visiting.poll();
23                 if(tmp.left == null && tmp.right == null)
24                     return count;
25                 if(tmp.left!=null)
26                     next.add(tmp.left);
27                 if(tmp.right!=null)
28                     next.add(tmp.right);
29             }
30             visiting.addAll(next);
31             next.clear();
32             count++;
33         }
34         return 0;
35     }
36 }

 

posted on 2013-11-26 06:45  JasonChang  阅读(172)  评论(0编辑  收藏  举报