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

二叉搜索树与双向链表

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

看了评论区大佬方法,pre要加引用或者干脆设置为一个成员变量,因为回溯后还要用到pre

class Solution {
public:
    void backtra(TreeNode* cur,TreeNode*& pre){
        if(!cur) return;
        backtra(cur->left, pre);
        cur->left=pre;
        if(pre) pre->right=cur;
        pre=cur;
        backtra(cur->right,pre);
    }
    TreeNode* Convert(TreeNode* pRootOfTree) {
        if(!pRootOfTree) return pRootOfTree;
        TreeNode* pre =NULL;
        backtra(pRootOfTree, pre);
        TreeNode* ans =pRootOfTree;
        while(ans->left){
            ans=ans->left;
        }
        return ans;
    }
};
全部评论

相关推荐

黑皮白袜臭脚体育生:春节刚过就开卷吗?哈基馆,你这家伙......
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务