题解 | #二叉搜索树与双向链表#
二叉搜索树与双向链表
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); } }