1. 程式人生 > >LeetCode0429.N叉樹的層序遍歷

LeetCode0429.N叉樹的層序遍歷

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