problems: add n-ary tree preorder traversal

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2022-07-23 13:11:02 +02:00
parent 7c3f9ba87e
commit b59f949d8f
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,43 @@
/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> children;
Node() { }
Node(int _val)
{
val = _val;
}
Node(int _val, vector<Node*> _children)
{
val = _val;
children = _children;
}
};
*/
class Solution {
void preorder(vector<int>& traversal, Node* root)
{
if (root == nullptr) {
return;
}
traversal.push_back(root->val);
for (auto child : root->children) {
preorder(traversal, child);
}
}
public:
vector<int> preorder(Node* root)
{
vector<int> result;
preorder(result, root);
return result;
}
};