• 剑指offer——二叉树的深度


    题目链接:

    输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

    解题思路:

    这道题目和二叉树打印成多行那个题目很像,所以代码也差不多啦!

     1 import java.util.ArrayList;
     2 /**
     3 public class TreeNode {
     4     int val = 0;
     5     TreeNode left = null;
     6     TreeNode right = null;
     7 
     8     public TreeNode(int val) {
     9         this.val = val;
    10 
    11     }
    12 
    13 }
    14 */
    15 public class Solution {
    16     public int TreeDepth(TreeNode root) {
    17         ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
    18         ArrayList<Integer> list = new ArrayList<>();
    19         ArrayList<TreeNode> queue = new ArrayList<>();
    20         
    21         if(root==null)
    22             return 0;
    23         
    24         int start = 0;
    25         int end = 1;
    26         queue.add(root);
    27         int count=0;
    28         while(!queue.isEmpty())
    29         {
    30             TreeNode node = queue.remove(0);
    31             start++;
    32             if(node.left!=null)
    33                 queue.add(node.left);
    34             if(node.right!=null)
    35                 queue.add(node.right);
    36             list.add(node.val);
    37             if(start == end)
    38             {
    39                 res.add(list);
    40                 count++;
    41                 start = 0;
    42                 end = queue.size();
    43                 list = new ArrayList<>();
    44             }
    45         }
    46         return count;
    47     }
    48 }
  • 相关阅读:
    POJ 1731
    POJ 1256
    POJ:1833 按字典序找到下一个排列:
    git工作流
    git 分之合并和冲突解决
    iis 7 操作 .net
    IIS7.0 Appcmd 命令详解
    SQL的注入式攻击方式和避免方法
    实例详解Django的 select_related
    django-ajax之post方式
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10902107.html
Copyright © 2020-2023  润新知