赞
踩
问题描述:给出一棵二叉树,返回其节点值的前序遍历。
样例:
给出一棵二叉树 {1,#,2,3}
,
1
\
2
/
3
返回 [1,2,3]
.
解题思路:前序遍历要先保存根,然后再保存左子树,最后右子树。在函数前定义一个int类型的vector,然后用递归的方式先保存根,然后访问左子树再访问右子树。最后将这个vector返回。
实验代码:
class Solution {
public:
vector<int> r;
/**
* @param root: The root of binary tree.
* @return: Preorder in vector which contains node values.
*/
vector<int> preorderTraversal(TreeNode *root) {
// write your code here
if(root!=NULL) {
r.push_back(root->val);
preorderTraversal(root->left);
preorderTraversal(root->right);
}
return r;
}
};
个人感想:定义的vector需要在函数的外面。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。