美文网首页
LeetCode:429. N 叉树的层序遍历

LeetCode:429. N 叉树的层序遍历

作者: alex很累 | 来源:发表于2022-06-06 21:00 被阅读0次

问题链接

429. N 叉树的层序遍历

问题描述

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

树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。

示例

解题思路

树的层序遍历,没啥好说的,直接遍历干就完事了。

代码示例(JAVA)

/*
// Definition for a Node.
class Node {
    public int val;
    public List<Node> children;

    public Node() {}

    public Node(int _val) {
        val = _val;
    }

    public Node(int _val, List<Node> _children) {
        val = _val;
        children = _children;
    }
};
*/

class Solution {
    public List<List<Integer>> levelOrder(Node root) {
        List<List<Integer>> list = new ArrayList<>();
        levelOrderTree(root, list, 1);
        return list;
    }

    public void levelOrderTree(Node root, List<List<Integer>> list, int n) {
        if (root == null) {
            return;
        }

        if (list.size() < n) {
            list.add(new ArrayList());
        }
        List<Integer> itemList = list.get(n - 1);
        itemList.add(root.val);
        for (Node node : root.children) {
            levelOrderTree(node, list, n + 1);
        }
    }
}

执行结果

相关文章

网友评论

      本文标题:LeetCode:429. N 叉树的层序遍历

      本文链接:https://www.haomeiwen.com/subject/frjcprtx.html