Advertisement
vaibhav1906

Preorder with stacks

Jan 4th, 2022
1,092
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     void preorder(TreeNode * root, vector<int> &ans){
  4.        
  5.         if(root==NULL)return;
  6.        
  7.         stack<TreeNode*>s;
  8.        
  9.         s.push(root);
  10.        
  11.         while(s.size()!=0){
  12.             TreeNode * temp = s.top();
  13.             s.pop();
  14.             ans.push_back(temp->val);
  15.            
  16.             if(temp->right!=NULL){
  17.                 s.push(temp->right);
  18.             }
  19.              if(temp->left!=NULL){
  20.                 s.push(temp->left);
  21.             }
  22.            
  23.         }
  24.        
  25.         return;
  26.     }
  27.    
  28.     vector<int> preorderTraversal(TreeNode* root) {
  29.        
  30.         vector<int> ans;
  31.         preorder(root, ans);
  32.        
  33.         return ans;
  34.        
  35.     }
  36. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement