即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

二叉搜索树和双向链表

编程语言 u011036919 12℃ 0评论

题目描述


输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。

class Solution {
    TreeNode* realhead=NULL;
    TreeNode* head=NULL;
public:
    TreeNode* Convert(TreeNode* pRootOfTree)
    {
        convert(pRootOfTree);
        return realhead;
    }
    void convert(TreeNode* root){
        if(root==NULL)
            return;
        convert(root->left);
        if(realhead){
            head->right=root;
            root->left=head;
            head=root;
        }
        else{
            realhead=root;
            head=root;
        }
        convert(root->right);
    }
};

转载请注明:CodingBlog » 二叉搜索树和双向链表

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情