本文共 719 字,大约阅读时间需要 2 分钟。
问题:
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 you do it iteratively?
解答:先序遍历,非递归形式
代码:
class Solution {public: vector preorderTraversal(TreeNode *root) { vector result; stackst; if(root != NULL) st.push(root); while(!st.empty()) { TreeNode *node = st.top(); st.pop(); result.push_back(node->val); if(node->right) st.push(node->right); if(node->left) st.push(node->left); } return result; }};
转载地址:http://xktsi.baihongyu.com/