• 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;
    }
    

      

  • 相关阅读:
    05 库的简单操作
    04 基本的MySQL语句
    03 MySQL安装和基本管理
    02 数据库概述
    01 MySQL入门了解
    Django-组件拾遗
    bootstrap基础讲解
    jQuery练习
    前端基础之Jquery
    15 Django组件-中间件
  • 原文地址:https://www.cnblogs.com/MrSaver/p/9953223.html
Copyright © 2020-2023  润新知