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

二叉搜索树与双向链表

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 {
    TreeNode pre;
    public TreeNode Convert(TreeNode pRootOfTree) {
        if(pRootOfTree==null){
            return null;
        }
        middle(pRootOfTree);
        while(pRootOfTree.left!=null){
            pRootOfTree = pRootOfTree.left;
        }
        return pRootOfTree;

    }

    public void middle(TreeNode pRootOfTree) {
        // TODO
        if(pRootOfTree==null){
            return;
        }
        middle(pRootOfTree.left);
        if(pre == null){
            pre = pRootOfTree;
        }else{
            pre.right = pRootOfTree;
            pRootOfTree.left = pre;
            pre = pRootOfTree;
        }
        middle(pRootOfTree.right);
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务