LeetCode 589. N叉树的前序遍历

题目描述

给定一个 N 叉树,返回其节点值的前序遍历。

例如,给定一个 3叉树 :
LeetCode 589. N叉树的前序遍历
返回其前序遍历: [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;
    }
};