zoukankan      html  css  js  c++  java
  • 【每日一题-leetcode】429.N叉数的层序遍历

    429.N叉数的层序遍历

    1. N叉树的层序遍历

    难度中等76

    给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。

    例如,给定一个 3叉树 :

    返回其层序遍历:

    [
         [1],
         [3,2,4],
         [5,6]
    ]
    

    1.队列实现广度优先搜索

    time:O(n)

    space:O(n)

    //1.用队列实现广度优先搜索
        //2.一个list 一个queue  list存储节点的值  queue存储每一层遍历的节点。
        //3.当queue != null 的时候,遍历当前层。
        public List<List<Integer>> levelOrder(Node root) {
            if(root == null) return new ArrayList();
            List<List<Integer>> list = new ArrayList<>();
            Queue<Node> queue = new LinkedList();//存储每一层的结点值
            queue.add(root);
            while(!queue.isEmpty()){
                List<Integer> level = new ArrayList<>();
                int size = queue.size();
                for(int i=0;i<size;i++){
                    Node node = queue.poll();
                    level.add(node.val);
                    queue.addAll(node.children);
                }
                list.add(level);
            }
            return list;
        }
    
  • 相关阅读:
    (原创) mac 10.9.2 eclipse 的 CDT 的 异常的修复
    (转) Virtual function
    (转) ROS NAMING AND NAMESPACES
    (转) Data structures
    (转) Dynamic memory
    java string类
    eclipse 的快捷键
    java抽象类和接口
    面向对象的三大特征
    Java 中的多态
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860641.html
Copyright © 2011-2022 走看看