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

二叉搜索树与双向链表

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

import java.util.*;
/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

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

    }

}
*/
public class Solution {
    public TreeNode head=null;
    public TreeNode pre=null;
    
    public TreeNode Convert(TreeNode pRootOfTree) {
        if(pRootOfTree==null){
            return null;
        }
        Convert(pRootOfTree.left);
        if(pre==null){
            head=pRootOfTree;
            pre=pRootOfTree;
        }
        else{
            pre.right=pRootOfTree;
            pRootOfTree.left=pre;
            pre=pRootOfTree;
        }
        Convert(pRootOfTree.right);
        return head;
    }
}

这个题我做了好几遍了,今天还是写不出来,555~

思路:利用树的中序遍历,需要定义一个pre指针和一个头指针。当遍历到当前节点的时候对当前节点的指针进行改造。让当前节点的左指针指向pre, pre.right则指向当前节点,并且更新pRootOfTree。

全部评论

相关推荐

不愿透露姓名的神秘牛友
2025-12-14 11:05
谦虚的小冤种在加班:确实烂白菜,当年本科毕业字节给给开了66*15,哥们都不带看一眼的😋
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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