Total accepted:97599 Total submissions:257736 difficulty:medium
Given a binary tree, return the preorder traversal of its nodes ' values.
For example:
Given binary Tree {1,#,2,3}
,
1 2 / 3
Return [1,2,3]
.
Note:recursive solution is trivial, could do it iteratively?
(m) binary Tree inorder traversal (m) Verify preorder Sequence in Binary Search Tree
/** Definition for a binary tree node. * struct TreeNode {* int val; * TreeNode *left; * TreeNode *right; * TreeNode (int x): Val (x), left (null), right (NULL) {} *}; */classSolution { Public: Vector<int> Preordertraversal (treenode*root) {Vector<int>Res; TreeNode* p =Root; if(p==NULL) { returnRes; } Stack<TreeNode*>Stk; while(P | |!Stk.empty ()) { while(P) {Res.push_back (P-val); Stk.push (P); P=p->Left ; } if(!Stk.empty ()) {P= Stk.top ()Right ; Stk.pop (); } } returnRes; }};
Next challenges: (m) Binary Tree inorder Traversal (m) Verify preorder Sequence in Binary Search Tree
[Tree] Binary Tree Preorder Traversal