二叉树的前序遍历

来源:互联网 发布:java微信支付开发步骤 编辑:程序博客网 时间:2024/06/15 19:34

题目:二叉树的前序遍历


问题描述:给出一棵二叉树,返回其节点值的前序遍历。


思路:用递归的思想,按先跟后左子树最后右子树的方式将节点的值一个个存到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;
    }
};


思路:这道题最坑人的地方是在定义容器没有在题目指定位置写,而是写在函数外面,有点没想明白为啥这么做,感觉在函数里面也应该可以啊,但是就是过不了……

0 0
原创粉丝点击