二叉树搜索树与双向链表(中序遍历)
2019-03-19 23:24
113 查看
版权声明:如需转载,请写明出处 https://blog.csdn.net/weixin_43113679/article/details/88676904
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { //这个结点当返回父节点记录右孩子,当到左孩子记录父节点, //有一点重要的是当到左子树的右孩子(叶子节点)记录的是根节点 //当到根节点时记录的是右子树的左孩子(叶子节点) TreeNode list =null; public TreeNode Convert(TreeNode pRootOfTree) { if(pRootOfTree ==null){ return pRootOfTree; } Convert(pRootOfTree.right); if(list==null){ list =pRootOfTree; }else{ list.left =pRootOfTree; pRootOfTree.right =list; list=pRootOfTree; } Convert(pRootOfTree.left); return list; } }
相关文章推荐
- 把二元查找树转变成排序的双向链表(中序遍历)
- 二叉搜索树与双向链表(中序遍历 ****)
- 二叉树的中序遍历,以及与双向链表之间的转换
- 算法题22 把二元查找树转变成排序的双向链表(中序遍历)
- 【转】把二叉查找树转变成排序的双向链表(中序遍历)
- 二叉树 中序遍历
- SDUT 2128 树结构练习 排序二叉树的中序遍历
- 二叉搜索树与双向链表
- 【剑指offer】第三十六题(二叉搜索树与双向链表) 和 第三十七题(序列化二叉树)
- UVa 12657 Boxes in a Line 双向链表
- 组合模式实现二叉树先序遍历,中序遍历和后序遍历
- 双向链表——C++描述
- 树结构练习——排序二叉树的中序遍历
- 二叉搜索树与双向链表(剑指offer 面试题36)
- 二叉排序树的建立以及中序遍历输出(C语言)
- 二叉树的遍历,二叉树的创建、前序遍历、中序遍历、后序遍历 (转)
- 二叉树的创建、前序遍历、中序遍历、后序遍历
- 双向链表的建立
- 二叉树的前序遍历,中序遍历和后序遍历(c#)
- 线索二叉树建立、中序遍历、查找前驱后继、插入