• 111.二叉树的最小与最大深度


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

    解题思路:

    都是层次遍历,判断返回的条件不一样。

     1 /**
     2  * Definition for a binary tree node.
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 class Solution {
    11     public int minDepth(TreeNode root) {
    12         
    13         ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
    14         ArrayList<Integer> list = new ArrayList<>();
    15         ArrayList<TreeNode> queue = new ArrayList<>();
    16         
    17         if(root==null)
    18             return 0;
    19         
    20         int start = 0;
    21         int end = 1;
    22         queue.add(root);
    23         int count=1;
    24         while(!queue.isEmpty())
    25         {
    26             TreeNode node = queue.remove(0);
    27             start++;
    28             if(node.left==null&&node.right==null)
    29                 break;
    30             if(node.left!=null)
    31                 queue.add(node.left);
    32             if(node.right!=null)
    33                 queue.add(node.right);
    34             
    35             
    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     }
    49 }
     1 /**
     2  * Definition for a binary tree node.
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 class Solution {
    11     public int maxDepth(TreeNode root) {
    12         
    13         ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
    14         ArrayList<Integer> list = new ArrayList<>();
    15         ArrayList<TreeNode> queue = new ArrayList<>();
    16         
    17         if(root==null)
    18             return 0;
    19         
    20         int start = 0;
    21         int end = 1;
    22         queue.add(root);
    23         int count=0;
    24         while(!queue.isEmpty())
    25         {
    26             TreeNode node = queue.remove(0);
    27             start++;
    28             if(node.left!=null)
    29                 queue.add(node.left);
    30             if(node.right!=null)
    31                 queue.add(node.right);
    32             list.add(node.val);
    33             if(start == end)
    34             {
    35                 res.add(list);
    36                 count++;
    37                 start = 0;
    38                 end = queue.size();
    39                 list = new ArrayList<>();
    40             }
    41         }
    42         return count;
    43         
    44     }
    45 }
    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        int result = 0;//最大深度
        public int maxDepth(TreeNode root) {
            
            if (root == null) {
                return 0;
            }
            result = Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
            return result;
            
        }
    }
  • 相关阅读:
    ASP.NET页面优化,提高载入速度[转]
    winform app.config文件的动态配置
    ASP.NET 程序中删除文件夹导致session失效解决问题
    ASP.NET网站版本自动更新程序及代码[转]
    swf2pdf转swf时字符集问题【转】
    ASP.NET中EVAL用法大全
    安装sqlserver2012时出现的丧心病狂的错误
    sqlserver2008清日志
    搭建了个静态资源服务器遇到的问题与解决
    获取action name在asp.net mvc
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/11093469.html
Copyright © 2020-2023  润新知