美文网首页
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