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

二叉搜索树与双向链表

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

/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public class Solution {
    public TreeNode Convert(TreeNode pRootOfTree) {
        if(pRootOfTree == null) {
            return null ;
        }
        TreeNode l = pRootOfTree.left ;
        TreeNode r = pRootOfTree.right ;
        pRootOfTree.left = null ;
        pRootOfTree.right = null ;
        TreeNode Lh = Convert(l) ;
        TreeNode Rh = Convert(r) ;
        TreeNode cur = Lh ;
        while(cur != null && cur.right != null) {
            cur = cur.right ;
        }
        pRootOfTree.left = cur ;
        if(cur != null) {
            cur.right = pRootOfTree ;
        }
        pRootOfTree.right = Rh ;
        if(Rh != null) {
            Rh.left = pRootOfTree ;
        }
        return Lh == null ? pRootOfTree :  Lh;
    }
}
一个菜鸟的算法刷题记录 文章被收录于专栏

分享一个菜鸟的成长记录

全部评论

相关推荐

Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务