recover-a-tree-from-preorder-traversal 1.0.0
Recover a Tree From Preorder Traversal
Loading...
Searching...
No Matches
main.cpp File Reference
#include <bits/stdc++.h>
Include dependency graph for main.cpp:

Go to the source code of this file.

Data Structures

struct  TreeNode
 
class  Solution
 

Functions

void bfs_print (TreeNode *root)
 
void delete_tree (TreeNode *root)
 
int main ()
 

Function Documentation

◆ bfs_print()

void bfs_print ( TreeNode root)

Definition at line 70 of file main.cpp.

71{
72 if (!root)
73 return;
74 queue<TreeNode*> q;
75 q.push(root);
76 cout << "[";
77 while (!q.empty())
78 {
79 TreeNode* t = q.front();
80 q.pop();
81 cout << t->val << ", ";
82 if (t->left)
83 q.push(t->left);
84 if (t->right)
85 q.push(t->right);
86 }
87 cout << "]\n";
88}
int val
Definition main.cpp:7
TreeNode * left
Definition main.cpp:8
TreeNode * right
Definition main.cpp:9

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

Referenced by main().

◆ delete_tree()

void delete_tree ( TreeNode root)

Definition at line 90 of file main.cpp.

91{
92 if (root)
93 {
94 if (root->left)
95 delete_tree(root->left);
96 if (root->right)
97 delete_tree(root->right);
98 delete root;
99 }
100}
void delete_tree(TreeNode *root)
Definition main.cpp:90

References delete_tree(), TreeNode::left, and TreeNode::right.

Referenced by delete_tree(), and main().

◆ main()

int main ( )

Definition at line 102 of file main.cpp.

103{
104 string traversal("1-2--3--4-5--6--7");
105 TreeNode* tree = Solution().recoverFromPreorder(traversal);
106 bfs_print(tree);
107 delete_tree(tree);
108 return 0;
109}
TreeNode * recoverFromPreorder(string traversal)
Definition main.cpp:18
void bfs_print(TreeNode *root)
Definition main.cpp:70

References bfs_print(), delete_tree(), and Solution::recoverFromPreorder().