题解 | #二叉搜索树与双向链表#

二叉搜索树与双向链表

http://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5

class Solution {
public:
    TreeNode* Convert(TreeNode* pRootOfTree)
    {
        if (pRootOfTree == nullptr)
            return pRootOfTree;

        auto pin = pRootOfTree;
        Inorder(pin);

        ivec.front()->left = nullptr;
        ivec.back()->right = nullptr;
        int length = ivec.size();
        for (int i = 0; i != length-1; ++i){
            ivec[i]->right = ivec[i+1];
            ivec[i+1]->left = ivec[i];
        }
        return ivec.front();
    }
    
    void Inorder(TreeNode* T){
        if(T != nullptr){
            Inorder(T -> left);
            ivec.push_back(T);
            Inorder(T -> right);
        }
    }
private:
    vector<TreeNode*> ivec;
};
全部评论

相关推荐

10-12 19:08
666 C++
花开蝶自来_:技能:听动物叫,让雪豹闭嘴
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
4 收藏 评论
分享
牛客网
牛客企业服务