Binary Tree Preorder Traversal
Desicription
Given a binary tree, return the preorder traversal of its nodes’ values.
Example:
1 2 3 4 5 6 7 8
| Input: [1,null,2,3] 1 \ 2 / 3
Output: [1,2,3]
|
Follow up: Recursive solution is trivial, could you do it iteratively?
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
class Solution { private: void traversal(TreeNode* cur, vector<int>& vec) { if(cur == NULL) return ; vec.push_back(cur->val); traversal(cur->left, vec); traversal(cur->right, vec); } public: vector<int> preorderTraversal(TreeNode* root) { vector<int> vec; traversal(root, vec); return vec; } };
|