美文网首页
剑指offer-e二叉搜索树与双向链表

剑指offer-e二叉搜索树与双向链表

作者: yyming | 来源:发表于2019-02-24 20:22 被阅读0次

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


    难点坑点
    太难了不想说


    /*
    struct TreeNode {
        int val;
        struct TreeNode *left;
        struct TreeNode *right;
        TreeNode(int x) :
                val(x), left(NULL), right(NULL) {
        }
    };*/
    class Solution {
    public:
        TreeNode* Convert(TreeNode* pRootOfTree)
        {
            TreeNode* pre=nullptr ;
            TreeNode* first=nullptr;
            if(pRootOfTree==nullptr)
                return first;
            linetree(pRootOfTree,pre);
            while(pre->left!=nullptr)
                pre=pre->left;
            return pre;
        }
        void linetree(TreeNode* current, TreeNode* &pre)
        {
            if(current==nullptr)
                return ;
            linetree(current->left,pre);
            current->left=pre;
            if(pre)
                pre->right=current;
            pre=current;
            linetree(current->right,pre);
        }
    };
    

    相关文章

      网友评论

          本文标题:剑指offer-e二叉搜索树与双向链表

          本文链接:https://www.haomeiwen.com/subject/regbyqtx.html