二叉搜索树与双向链表
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
思路
解法一: 基础的递归
1.构建左子树为双向链表,返回链表头节点left
2.定位到左双向链表最后一个节点
3.左双向链表最后一个节点与当前节点双向链接
4.构建右子树为双向链表,返回链表头结点right
5.将右双向链表头节点和当前节点连接起来
解法二:
使用全局变量leftLast来表示左双向链表的最后一个节点(也就是上一种解法中的tmp)
代码
function Permutation(str) {
var result = [];
if (str.length <= 0) {
return [];
}
var sortTemp= "";
var arr = str.split("");
result = sortString(arr, sortTemp