题目链接:https://leetcode.com/problems/minimum-depth-of-binary-tree/description/

题目大意:求解二叉树的最小高度。

法一:BFS。新写一个class,承接TreeNode和当前结点高度。代码如下(耗时6ms):

 1     static class MergeTree {
 2         TreeNode root;
 3         int depth;
 4         MergeTree(TreeNode r, int d) {
 5             root = r;
 6             depth = d;
 7         }
 8     }
 9     public int minDepth(TreeNode root) {
10         int res = Integer.MAX_VALUE;
11         if(root == null) {
12             return 0;
13         }
14         Queue<MergeTree> q = new LinkedList<MergeTree>();
15         MergeTree mT = new MergeTree(root, 1);
16         q.offer(mT);
17         while(!q.isEmpty()) {
18             MergeTree tmpT = q.poll();
19             TreeNode tmpN = tmpT.root;
20             if(tmpN.left != null) {
21                 mT = new MergeTree(tmpN.left, tmpT.depth + 1);
22                 q.offer(mT);
23             }
24             if(tmpN.right != null) {
25                 mT = new MergeTree(tmpN.right, tmpT.depth + 1);
26                 q.offer(mT);
27             }
28             if(tmpN.left == null && tmpN.right == null) {
29                 res = Math.min(res, tmpT.depth);
30             }
31         }
32         return res;
33     }
View Code

相关文章:

  • 2021-11-02
  • 2021-06-09
  • 2022-12-23
  • 2022-12-23
  • 2021-09-23
  • 2021-08-14
  • 2021-05-22
猜你喜欢
  • 2021-09-17
  • 2021-11-17
  • 2021-12-21
  • 2021-04-17
  • 2021-08-21
相关资源
相似解决方案