We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 7c31a0b commit d9d12feCopy full SHA for d9d12fe
C++/n-ary-tree-preorder-traversal.cpp
@@ -0,0 +1,40 @@
1
+// Time: O(n)
2
+// Space: O(h)
3
+
4
+/*
5
+// Definition for a Node.
6
+class Node {
7
+public:
8
+ int val;
9
+ vector<Node*> children;
10
11
+ Node() {}
12
13
+ Node(int _val, vector<Node*> _children) {
14
+ val = _val;
15
+ children = _children;
16
+ }
17
+};
18
+*/
19
+class Solution {
20
21
+ vector<int> preorder(Node* root) {
22
+ if (!root) {
23
+ return {};
24
25
+ vector<int> result;
26
+ vector<Node*> stack{root};
27
+ while (!stack.empty()) {
28
+ auto node = stack.back(); stack.pop_back();
29
+ result.emplace_back(node->val);
30
+ for (auto rit = node->children.rbegin();
31
+ rit != node->children.rend();
32
+ ++rit) {
33
+ if (*rit) {
34
+ stack.emplace_back(*rit);
35
36
37
38
+ return result;
39
40
0 commit comments