二叉搜索树与双向链表
2017-10-01 11:41
141 查看
1、链接:二叉搜索树与双向链表
来源:牛客网
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
2、思路:中序遍历,遍历的是链表的第一个元素时,构建双向链表;遍历的不是第一个元素时,将该元素放到链表的最后面,然后将指向最后面的endNode移后一位;
3、代码:
来源:牛客网
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
2、思路:中序遍历,遍历的是链表的第一个元素时,构建双向链表;遍历的不是第一个元素时,将该元素放到链表的最后面,然后将指向最后面的endNode移后一位;
3、代码:
public class TreeConvertLinkList { TreeNode startNode = null; TreeNode endNode = null; public TreeNode Convert(TreeNode pRootOfTree) { if(pRootOfTree == null){ return null; } Convert(pRootOfTree.left); if(endNode == null){ startNode = pRootOfTree; endNode = pRootOfTree; }else{ //将当前结点加到endNode末尾,然后将endNode向后移一位 pRootOfTree.left = endNode; endNode.right = pRootOfTree; endNode = pRootOfTree; } Convert(pRootOfTree.right); return startNode; } }
相关文章推荐
- 线索二叉树:二叉搜索树转换为双向链表
- 【剑指offer】面试题36:二叉搜索树与双向链表
- 二叉搜索树转化为双向链表
- 《剑指Offer》面试题:二叉搜索树转换为双向链表
- 剑指offer:二叉搜索树与双向链表
- 剑指Offer—26—二叉搜索树与双向链表
- 【数据结构】二叉搜索树——转换成有序双向链表
- 面试题27:二叉搜索树与双向链表
- 二叉搜索树与双向链表的转换
- 每日一题(69) - 二叉搜索树与双向链表
- 剑指Offer27:二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 牛客网刷题之二叉搜索树与双向链表
- 面试题: 二叉搜索树转换成有序双向链表
- 剑指offer27---将二叉搜索树转换成一个排序的双向链表
- 二叉搜索树与双向链表
- 剑指offer--二叉搜索树与双向链表
- 二叉搜索树转排序双向链表
- 二叉搜索树与双向链表
- 树——二叉搜索树化为双向链表