LeetCode_589.N叉树的前序遍历
给定一个 N 叉树,返回其节点值的前序遍历。
例如,给定一个 3叉树
:
返回其前序遍历: [1,3,5,6,2,4]
。
说明: 递归法很简单,你可以使用迭代法完成此题吗?
### C#代码/*
// Definition for a Node.
public class Node {
public int val;
public IList children;
public Node() {}
public Node(int _val) {
val = _val;
}
public Node(int _val,IList _children) {
val = _val;
children = _children;
}
}
*/
public class Solution {
public IList Preorder(Node root) {
IList list = new List();
if(root == null) return list;
Stack stack = new Stack();
stack.Push(root);
while(stack.TryPop(out Node node)){
list.Add(node.val);
int count = node.children.Count;
while(--count > -1){
stack.Push(node.children[count]);
}
}
return list;
}
}