【刷题之路】二叉树前中后序遍历(递归)

经典算法

class TreeToSequence {
public:
    vector<vector<int> > convert(TreeNode* root) {
        // write code here
        vector<int> front;
        vector<int> mid;
        vector<int> back;
        vector<vector<int> > res;
        fronttree(root,front);
        res.push_back(front);
        midtree(root,mid);
        res.push_back(mid);
        backtree(root,back);
        res.push_back(back);
        return res;
    }
    void fronttree(TreeNode* root,vector<int> &res){
        if(root==NULL) return;
        res.push_back(root->val);
        fronttree(root->left,res);
        fronttree(root->right,res);
    }
    void midtree(TreeNode* root,vector<int> &res){
        if(root==NULL) return;
        midtree(root->left,res);
        res.push_back(root->val);
        midtree(root->right,res);
    }
    void backtree(TreeNode* root,vector<int> &res){
        if(root==NULL) return;
        backtree(root->left,res);
        backtree(root->right,res);
        res.push_back(root->val);
    }
};

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zyn2609530/article/details/51543596
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

【刷题之路】二叉树前中后序遍历(递归)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭