版权声明:啦啦啦,不用于商业的话随便拿,记得带上博客地址http://blog.csdn.net/wjoker https://blog.csdn.net/wjoker/article/details/84205941
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;
}