二叉搜索树与双向链表
来源:互联网 发布:qq会员永久软件 编辑:程序博客网 时间:2024/05/17 06:27
题目描述
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
思路:二叉搜索树变成排序的双向链表,即中序遍历,将树结构转为双向链表结构。具体见剑指offer的P152
代码如下:
/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { TreeNode cur = null; public TreeNode Convert(TreeNode pRootOfTree) { if(pRootOfTree==null) return null; midTravel(pRootOfTree); while(cur.left!=null){ cur = cur.left; } return cur; } public void midTravel(TreeNode root){ if(root==null){ return; } midTravel(root.left); root.left = cur; if(cur!=null){ cur.right = root; } cur = root; midTravel(root.right); }}
其中cur用来表示上一个节点,方便与当前节点root完成左右相连的工作。
0 0
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 二叉搜索树与双向链表
- BootStrap模态框
- 九度oj 1461
- Python字符串操作之字符串搜索与替换
- (15.1.13)阅读理解
- [欧拉计划]Problem 1.Multiples of 3 and 5
- 二叉搜索树与双向链表
- TCP三次握手,及其背后的缺陷
- ZOJ2562
- 机器视觉开源代码集合
- HTML与CSS_基础 翁恺 笔记(2015.8.10更新)
- ContentProvider简结
- 学习JavaBean 遇到的问题
- 杭电ACM1394——Minimum Inversion Number
- leetcode 83: Remove Duplicates from Sorted List