LeetCode0589.N叉樹的前序遍歷
阿新 • • 發佈:2018-11-20
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;
}