文章标题
来源:互联网 发布:java开发是做什么的 编辑:程序博客网 时间:2024/05/29 19:17
题目描述
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
public class Solution { TreeNode head = null; TreeNode realHead = null; public TreeNode Convert(TreeNode pRootOfTree) { if(pRootOfTree==null) return null; if(pRootOfTree!=null){ ConvertHelper(pRootOfTree); } return realHead; } public void ConvertHelper(TreeNode root){ if(root!=null){ ConvertHelper(root.left); if(head==null){ head = root; realHead = root; }else{ head.right = root; root.left = head; head = root; } ConvertHelper(root.right); } }}
思路:通过二叉搜索树的中序遍历序列可以转换为排序链表,中序遍历就是先遍历左子树,然后对节点进行操作,在遍历右子树,这里对节点进行操作是将上一个遍历的节点保存下来,然后上一个节点的right赋值为单前节点,单前节点的left赋值为上一个节点,迭代更新head的值,也就是这里单前节点变为了下一个节点的上一个节点
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 基于ActiveAndroid框架的BaseModel
- computer vision笔记(二)
- Leetcode:718. Maximum Length of Repeated Subarray
- Dto--数据传输对象的应用
- C#正则表达式用于手机号判断
- 文章标题
- 腾讯电脑管家(qq电脑管家)官方正式版V12.9.19152.219下载 | 电脑管家官方网下载
- 多线程
- 学习Hadoop的第一课(开始进入大数据的世界)
- Ciclop开源3D扫描仪软件---Horus源码分析之src\horus\engine\calibration\calibration_data.py
- raft算法学习笔记
- 邮局post office(dp优化之四边形不等式)
- JAVA 第十次作业
- Android无驱usb音频实现