剑指offer-二叉搜索树与双向链表
来源:互联网 发布:debug意思网络用语 编辑:程序博客网 时间:2024/05/17 03:11
题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。空间复杂度为O(1).
最笨的方法就是中序遍历放在一个数组或链表中,再次遍历串联起来。但是要求空间复杂度为O(1),就没办法这么做了,这时候可以参考这个解法:http://blog.csdn.net/my_jobs/article/details/47666909判断一个树是不是一颗二叉搜索树,可以模仿最后的那个方法。
本题跟书上的解法不一样,感觉这个稍微要简洁好理解,不过都是中序遍历的模型。
private TreeNode pre = null;private static TreeNode head = null;public void convert(TreeNode root) {if (root == null) return;convert(root.left);if (pre != null) {pre.right = root;root.left = pre;} else {head = root;}pre = root;convert(root.right);}
最后的head就是转化后链表的表头。还是那样的总结,在树这种数据结构上,很多模板都是可以套用的,比如做过上面那个题,下面那个就很容易改造出来了。对比一下会发现,代码真的及其相似。树的很多工具类方法,比如树的层次遍历,求树的高度等等问题,都可以熟记,然后改造。
0 0
- 剑指Offer二叉搜索树与双向链表
- 【剑指offer:】Q27:二叉搜索树与双向链表
- 剑指offer--二叉搜索树与双向链表
- 剑指offer 27 - 二叉搜索树与双向链表
- 剑指offer-二叉搜索树与双向链表
- 《剑指offer》二叉搜索树与双向链表
- 【剑指Offer】二叉搜索树与双向链表
- 剑指offer—二叉搜索树与双向链表
- 剑指offer:二叉搜索树与双向链表
- 剑指offer-二叉搜索树与双向链表
- 剑指Offer--027-二叉搜索树与双向链表
- 剑指offer:二叉搜索树与双向链表
- [剑指offer]二叉搜索树与双向链表
- 《剑指offer》-二叉搜索树与双向链表
- 剑指offer-27二叉搜索树与双向链表
- 剑指offer题解 二叉搜索树与双向链表
- 剑指offer|二叉搜索树与双向链表
- 【剑指offer】二叉搜索树与双向链表
- java 之 原型模式
- 九度oj 1073
- 有动态画面的安装过程的安装包制作
- Scala入门到精通——第三十节 Scala脚本编程与结束语
- SQL学习笔记
- 剑指offer-二叉搜索树与双向链表
- java中计算两个时间差
- lightoj 1304 The Best Contest Site Ever (二分匹配)
- WIN7(64位)系统发现数据源ODBC里面没有配置access数据源连接&System, System32, Syswow64 概述
- 浅析电子政务工程建设项目的建章立制
- [转]cocos2dx中用外部浏览器打开url
- C语言中的左移与右移
- MySQL Workbench正向逆向工程
- C语言 枚举 enum