题目描述
给定一个 N 叉树,返回其节点值的前序遍历。
例如,给定一个 3叉树 :
返回其前序遍历: [1,3,5,6,2,4]。
代码
class Solution {
public:
vector<int> preorder(Node* root) {
vector<int> res;//存储后序遍历的结果
stack<Node *> s; //栈里面存放的是节点
if(!root)
return res;
s.push(root);//根节点入栈
while(!s.empty()) //栈不为空时
{
Node *p = s.top();
s.pop();
res.push_back(p->val);
for(int i = p->children.size()-1; i > 0; i--)
s.push(p->children[i]);
}
return res;
}
};