zoukankan      html  css  js  c++  java
  • 559. Maximum Depth of N-ary Tree

    Given a n-ary tree, find its maximum depth.

    The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

    Nary-Tree input serialization is represented in their level order traversal, each group of children is separated by the null value (See examples).

    Example 1:

    Input: root = [1,null,3,2,4,null,5,6]
    Output: 3
    

    Example 2:

    Input: root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
    Output: 5
    

    Constraints:

    • The depth of the n-ary tree is less than or equal to 1000.
    • The total number of nodes is between [0, 10^4].
    class Solution {
        public int maxDepth(Node root) {
            if(root == null) return 0;
    
            Queue<Node> queue = new LinkedList<>();
            queue.offer(root);
    
            int depth = 0;
    
            while(!queue.isEmpty())
            {
                int size = queue.size();
    
                for(int i = 0; i < size; i++)
                {
                    Node current = queue.poll();
                    for(Node child: current.children) queue.offer(child);
                }
    
                depth++;
            }
    
            return depth;
        }
    }
    class Solution {
        public int maxDepth(TreeNode root) {
            if (root == null) {
                return 0;
            }
            int left = maxDepth(root.left);
            int right = maxDepth(root.right);
            return Math.max(left, right) + 1;
        }
    }

     模仿普通的二叉树,改写成

    class Solution {
        public int maxDepth(Node root) {
            if (root == null) {
                return 0;
            }
    
            int max = 0;
            for (Node child : root.children) { //replace left&right to for loop
                int value = maxDepth(child);
                
                if (value > max) {
                    max = value;
                }
            }
            return max +1;
        }
    }
  • 相关阅读:
    【Linux】解压分卷压缩的zip文件
    kafka数据清理
    在 Kubernetes 上安装 Gitlab CI Runner Gitlab CI 基本概念以及 Runner 的安装
    APM监控--(三)zipkin部署手册
    K8S使用NodePort类型Service
    kubernetes基本概念 pod, service
    rsyslog配置解析
    日志收集之rsyslog to kafka
    linux auditd审计的简单使用和理解
    Nginx的try_files指令使用实例
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/13516990.html
Copyright © 2011-2022 走看看