本文主要是介绍N-ary Tree Level Order Traversal,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Input: root = [1,null,3,2,4,null,5,6]
Output: [[1],[3,2,4],[5,6]]
思路:就是一个queue的level order 收集;
/*
// 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>> lists = new ArrayList<List<Integer>>();if(root == null) {return lists;}Queue<Node> queue = new LinkedList<Node>();queue.offer(root);while(!queue.isEmpty()) {int size = queue.size();List<Integer> list = new ArrayList<Integer>();for(int i = 0; i < size; i++) {Node node = queue.poll();list.add(node.val);for(Node child: node.children) {queue.offer(child);}}lists.add(list);}return lists;}
}
这篇关于N-ary Tree Level Order Traversal的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!