From b59f949d8f46dc95c573a9e3f8a7d60742146e02 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Sat, 23 Jul 2022 13:11:02 +0200 Subject: [PATCH] problems: add n-ary tree preorder traversal Signed-off-by: Matej Focko --- problems/n-ary-tree-preorder-traversal.cpp | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 problems/n-ary-tree-preorder-traversal.cpp diff --git a/problems/n-ary-tree-preorder-traversal.cpp b/problems/n-ary-tree-preorder-traversal.cpp new file mode 100644 index 0000000..ee66ae8 --- /dev/null +++ b/problems/n-ary-tree-preorder-traversal.cpp @@ -0,0 +1,43 @@ +/* +// Definition for a Node. +class Node { +public: + int val; + vector children; + + Node() { } + + Node(int _val) + { + val = _val; + } + + Node(int _val, vector _children) + { + val = _val; + children = _children; + } +}; +*/ + +class Solution { + void preorder(vector& traversal, Node* root) + { + if (root == nullptr) { + return; + } + + traversal.push_back(root->val); + for (auto child : root->children) { + preorder(traversal, child); + } + } + +public: + vector preorder(Node* root) + { + vector result; + preorder(result, root); + return result; + } +};