文章目录
一、题目
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
该题目主要利用二叉树的中序遍历:非递归中序遍历,递归中序遍历
二、中序遍历的非递归算法
中序遍历非递归的思想:
从根节点开始,只要当前节点存在,或者栈不空就重复执行下面操作:
(1)如果当前节点存在,则进栈,并遍历左子树
(2)否则退栈并访问,然后遍历右子树
/**
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
import java.util.*;
public