题解 | #JZ 26二叉搜索树与双向链表# 好题 再刷!

二叉搜索树与双向链表

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

这道题真的很拿人

二叉搜索树,做边一直递归,
要有一个前驱pre节点。 递归到上一级的时候 root 就是pre的后继。

最终若返回pre,那么是降序排列,题干要求升序,故保存第一个节点,返回第一个节点。
【多练,多尝试。】

public class Solution {

    TreeNode pre= null;
    TreeNode root=null;
    public TreeNode Convert(TreeNode pRootOfTree) {
        if(pRootOfTree ==null) return null;
        Convert(pRootOfTree.left);
        if(root == null){
            root=pRootOfTree;
        }
        if(pre!=null){
            pRootOfTree.left=pre;
            pre.right=pRootOfTree;
        }
        pre=pRootOfTree;
        Convert(pRootOfTree.right);
        return root;
    }
}
全部评论
不能创建新的节点
1 回复 分享
发布于 2022-03-19 21:43
厉害,递归真的是很难想!
点赞 回复 分享
发布于 2022-03-25 11:42
这题真的很拿人!!
点赞 回复 分享
发布于 2022-03-24 21:34
膜拜了,大佬
点赞 回复 分享
发布于 2022-03-11 19:03

相关推荐

评论
16
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务