输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
第一眼看到题目感觉不是非常地有思路,这题目到底在考什么呢?这真的是我曾经刷过的题目吗?一点印象都没有
import java.util.List; import java.util.ArrayList; public class Solution { //返回转换后的head 和 tail private List<TreeNode> ConvertHelp(TreeNode root){ List<TreeNode> result = new ArrayList<TreeNode>(); TreeNode head = null; TreeNode tail = null; //要考虑叶子节点和为null的节点,因为树有基本的空、只有一个节点、左子树为空、右子树为空、左右子树都不为空5中状态 if(root == null || (root.left == null && root.right == null)){ head = root;tail = root; }else{ List<TreeNode> leftTree = Conver