1. 程式人生 > >LeetCode0589.N叉樹的前序遍歷

LeetCode0589.N叉樹的前序遍歷

0589.N叉樹的前序遍歷

描述

給定一個 N 叉樹,返回其節點值的前序遍歷

例項

例如,給定一個 3叉樹 :

返回其前序遍歷: [1,3,5,6,2,4]

說明

遞迴法很簡單,你可以使用迭代法完成此題嗎?

題解

public List<Integer> preorder(Node root) {
        Stack<Node> allNodesStack = new Stack<>();
        List<Integer> result = new LinkedList<
>(); if (root == null) return result; allNodesStack.add(root); while (!allNodesStack.isEmpty()){ root = allNodesStack.pop(); for(int i = root.children.size()-1;i>=0;i--){ allNodesStack.add(root.children.get(i)
); } result.add(root.val); } return result; }