void preorderHelper (TreeNode* node, vector<int>& v) { if (!node) return; v.push_back(node->val); preorderHelper(node->left, v); preorderHelper(node->right, v); }
void BST::preorderHelper(Node *node){ if(node == NULL){ return; } else{ cout<<node->data<<"->"; preorderHelper(node -> left); preorderHelper(node -> right); } }
//Preorder Traversal of BST void BST::preorder(){ if(root == NULL){ cout<<"BST empty"; } else{ cout<<endl<<"Preorder Traversal"<<endl; preorderHelper(root); } }
vector<int> preorderTraversal(TreeNode* root) { vector<int> v; preorderHelper(root, v); return v; }