zoukankan      html  css  js  c++  java
  • LeetCode:N叉树的层次遍历【429】

    LeetCode:N叉树的层次遍历【429】

    题目描述

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

    例如,给定一个 3叉树 : 

    返回其层序遍历:

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

    说明:

    1. 树的深度不会超过 1000
    2. 树的节点总数不会超过 5000

    题目分析

      使用队列处理。

    Java题解

    public List<List<Integer>> levelOrder(Node root) {
        // N叉树的遍历
        List<List<Integer>> retList = new ArrayList<>();
        if (root == null) return retList;
        Queue<Node> nodeQueue = new LinkedList<>();
        nodeQueue.offer(root);
        while(!nodeQueue.isEmpty()) {
            List<Integer> layerNodeList = new ArrayList<>();
            int curLayerSize = nodeQueue.size();
            for (int i = 0; i < curLayerSize; i++) {
                Node cur = nodeQueue.poll();
                layerNodeList.add(cur.val);
                if (cur.children != null) {
                    for (Node tmp : cur.children) {
                        nodeQueue.offer(tmp);
                    }
                }
            }
            retList.add(layerNodeList);
        }
        return retList;
    }
    

      

  • 相关阅读:
    java-反射
    java-异常
    Jmeter-逻辑控制器
    Jmeter-断言
    java-函数传参
    怎么测试一个杯子
    java+selenium3-元素定位
    java+selenium3-简介及环境搭建
    微软企业库5.0 使用举例
    数据库连接字符串ConnectionString 中的关键字值释义
  • 原文地址:https://www.cnblogs.com/MrSaver/p/9953223.html
Copyright © 2011-2022 走看看