第一次做博客,写程序,不懂类,不会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; } };