589. N叉树的前序遍历

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

Solution:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> children;

Node() {}

Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public:
vector<int> preorder(Node* root) {
vector<int> data;
preord(root,data);
return data;
}

void preord(Node* root, vector<int> &data){
if(!root) return;
data.push_back(root->val);
for(int i = 0; i < root->children.size(); i++){
preord(root->children[i], data);
}
}
};

基础题。

在访问子节点之前将该节点的信息存储起来即可。