题目
589.N 叉树的前序遍历
题目大意
给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。
n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。
样例
数据规模
思路
直接考虑对它进行递归中序遍历:
- 当一个节点递归到一个不存在的子节点时,
root 将变成nullptr ,此时直接return - 如果当前节点是存在的,则将其
val 存储到
v
e
c
t
o
r
vector
vector数组ans 中 - 将下来依序访问它的所有子节点
root->children
代码
class Solution {
public:
void dfs(Node* root,vector<int>& ans){
if(root==nullptr)return;
ans.push_back(root->val);
for(auto it:root->children){
dfs(it,ans);
}
}
vector<int> preorder(Node* root) {
vector<int>ans;
dfs(root,ans);
return ans;
}
};
|