LeetCode0429.N叉樹的層序遍歷
阿新 • • 發佈:2018-11-20
429 N叉樹的層序遍歷
描述
給定一個 N 叉樹,返回其節點值的層序遍歷。 (即從左到右,逐層遍歷)。
例如,給定一個 3叉樹
:
返回其層序遍歷
[
[1],
[3,2,4],
[5,6]
]
題解
- 和107,513類似
public List<List<Integer>> levelOrder(Node root) {
ArrayList<Node> arrayList1;
ArrayList<Node> arrayList2;
List<List<Integer>> result = new LinkedList<>();
if (root == null)
return result;
arrayList1 = new ArrayList<>();
arrayList1.add(root);
while (!arrayList1.isEmpty()){
arrayList2 = getNextLayNode (arrayList1);
List<Integer> nowList = new ArrayList<>();
for (Node node:arrayList1){
nowList.add(node.val);
}
result.add(nowList);
arrayList1 = arrayList2;
}
return result;
}
public ArrayList< Node> getNextLayNode(ArrayList<Node> arrayList1){
ArrayList<Node> arrayList2 = new ArrayList<>();
for(Node node:arrayList1){
for (Node subNode:node.children){
arrayList2.add(subNode);
}
}
return arrayList2;
}