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

二叉搜索树与双向链表

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

忘记前驱和后继的含义了。。。后面查了才发现自己排反了。

class Solution {
  public:
    TreeNode* Convert(TreeNode* pRootOfTree) {
        if (!pRootOfTree) return pRootOfTree;
        if (!pRootOfTree->left && !pRootOfTree->right) return pRootOfTree;
        TreeNode* head = pRootOfTree;
        TreeNode* lhead = pRootOfTree->left, * rhead = pRootOfTree->right;
        TreeNode* tail;
        if (lhead) {
            head = Convert(lhead);
            for (tail = head; tail->right; tail = tail->right);
            tail->right = pRootOfTree;
            pRootOfTree->left = tail;
        }
        if (rhead) {
            rhead = Convert(rhead);
            rhead->left = pRootOfTree;
            pRootOfTree->right = rhead;
        }
        return head;
    }
};

全部评论

相关推荐

05-15 16:48
上海大学 Java
忙碌的芝士选钝角:招侦探?
点赞 评论 收藏
分享
04-30 21:35
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务