binary-tree-preorder-traversal 1.0.0
Binary Tree Preorder Traversal
Loading...
Searching...
No Matches
Solution Class Reference

Public Member Functions

void set_value (TreeNode *node, vector< int > &array)
 Recursive function to push node values into array.
 
vector< int > preorderTraversal (TreeNode *root)
 

Detailed Description

Definition at line 21 of file main.cpp.

Member Function Documentation

◆ preorderTraversal()

vector< int > Solution::preorderTraversal ( TreeNode root)
inline

Definition at line 38 of file main.cpp.

39 {
40 vector<int> answer = {};
41 // if (root) // recursive
42 // set_value(root, answer);
43 if (root) // iterative
44 {
45 stack<TreeNode*> node_stack;
46 node_stack.push(root);
47 while (!node_stack.empty())
48 {
49 TreeNode* current = node_stack.top();
50 node_stack.pop();
51 answer.push_back(current->val);
52 if (current->right)
53 node_stack.push(current->right);
54 if (current->left)
55 node_stack.push(current->left);
56 }
57 }
58 return answer;
59 }
Definition for a binary tree node.
Definition main.cpp:12
int val
Definition main.cpp:13
TreeNode * left
Definition main.cpp:14
TreeNode * right
Definition main.cpp:15

References TreeNode::left, TreeNode::right, and TreeNode::val.

Referenced by main().

◆ set_value()

void Solution::set_value ( TreeNode node,
vector< int > &  array 
)
inline

Recursive function to push node values into array.

Definition at line 27 of file main.cpp.

28 {
29 array.push_back(node->val);
30 if (node->left == NULL && node->right == NULL)
31 return;
32 if (node->left)
33 set_value(node->left, array);
34 if (node->right)
35 set_value(node->right, array);
36 }
void set_value(TreeNode *node, vector< int > &array)
Recursive function to push node values into array.
Definition main.cpp:27

References TreeNode::left, TreeNode::right, set_value(), and TreeNode::val.

Referenced by set_value().


The documentation for this class was generated from the following file: