第一次做博客,写程序,不懂类,不会c++,开学前俩个周也比较忙,我就百忙之中,抽点时间写个简单的吧。
感觉很简单,但是对我来说难度好大
数据结构中二叉树的前序遍历:
若二叉树为空,则空操作返回;否则
1.反问根节点;
2.前序遍历根节点左子树;
3.前序遍历根节点右子树。
二叉树的前序遍历
给出一棵二叉树,返回其节点值的前序遍历。
您在真实的面试中是否遇到过这个题? Yes 样例给出一棵二叉树 {1,#,2,3}
,
1 \ 2 / 3
返回 [1,2,3]
.
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
class Solution {
public:
/*
* @param root: A Tree
* @return: Preorder in ArrayList which contains node values.
*/
vector<int> l;
vector<int> preorderTraversal(TreeNode * root) {
if(root==NULL)
{ return l;}
l.push_back(root->val);//添加二叉树中前序遍历的元素
preorderTraversal(root->left);
preorderTraversal(root->right);
return l;
}
};
版权声明:本文为koujiaodahanyuan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。