Skip to content

shubhamjrd4559-sudo/binary-tree-preorder-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

binary-tree-preorder-cpp

"Preorder traversal without Morris algorithm" #include #include using namespace std;

struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} };

class Solution { public: vector preorderTraversal(TreeNode* root) { vector result; helper(root, result); return result; }

private: void helper(TreeNode* node, vector& res) { if (node == nullptr) return; // 1. Visit root res.push_back(node->val); // 2. Left subtree helper(node->left, res); // 3. Right subtree helper(node->right, res); } };

int main() { // Tree banaate hain: example ke liye simple tree // 1 // /
// 2 3 // /
// 4 5

TreeNode* root = new TreeNode(1);
root->left = new TreeNode(2);
root->right = new TreeNode(3);
root->left->left = new TreeNode(4);
root->left->right = new TreeNode(5);

Solution sol;
vector<int> preorder = sol.preorderTraversal(root);

cout << "Preorder Traversal: ";
for (int v : preorder) {
    cout << v << " ";
}
cout << endl;

// Memory clean up (simple)
delete root->left->right;
delete root->left->left;
delete root->left;
delete root->right;
delete root;

return 0;

}

About

"Preorder traversal without Morris algorithm"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors