题解 | #二叉搜索树与双向链表#
二叉搜索树与双向链表
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, pre = null;
// head 是最左边的那个节点,pre 是从左往右开始的前一个节点
public TreeNode Convert(TreeNode pRootOfTree) {
if(pRootOfTree == null){
return null;
}
inOrderT(pRootOfTree);
return head;
}
public void inOrderT(TreeNode root){
if(root == null){
return;
}
inOrderT(root.left);
if(pre == null){
head = root;
}else{
pre.right = root;
}
root.left=pre;
pre = root;
inOrderT(root.right);
}
}

