当前位置: 首页 > news >正文

【C++二叉树】JZ36 二叉搜索树与双向链表

二叉搜索树与双向链表_牛客题霸_牛客网 (nowcoder.com)

思路分析:

  1. 根据题目要求可以看出将二叉搜索树转换为排序的双向链表就是中序遍历二叉搜索树。
  2. 在中序遍历的过程中将前后节点链起来即可。左指针指向前一个,右指针指向后一个。
  3. 中序遍历是递归实现的,要将节点和前驱、后继链起来,我们找不到他们的位置。只知道当前节点的位置。不知道前一个和后一个是谁。
  4. 这里可以考虑使用双指针来实现,prev指向前一个节点,cur指向当前节点。
  5. 当前节点cur的左指针指向前一个,但是cur的右指针要指向后一个没办法处理了。
  6. 当再走一步时,前一个节点的右指针就可以指向“当前节点”,就处理节点的右指针了。

图文分析:

代码实现:

注意:

prev传参要传引用,因为要保证在递归的过程中,prev能正确的使用,如果是传值,递归过程就找不到上一次递归使用的prev了。

总结:

主要使用了双指针的解题思想。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 屏幕录制电脑,推荐使用这些录制方式
  • 【Python报错已解决】 Requests.exceptions.ProxyError: HTTPSConnectionPool
  • Python 实现Excel XLS和XLSX格式相互转换
  • 需要申请 TAC
  • 接口自动化测试框架实战(Pytest+Allure+Excel)
  • Renesas R7FA8D1BH (Cortex®-M85)内部RTC的应用
  • vue 2表格滚动加载
  • 心觉:成功学就像一把刀,有什么作用关键在于使用者(一)
  • STM32G474RE之RTC
  • 《Effective C++》第三版——让自己习惯C++
  • [性能]高速收发的TCP/MQTT通信
  • 【最新综述】基于深度学习的超声自动无损检测(下)
  • VirtualBox 克隆已有的虚拟机
  • 小项目建议用redis替换mq
  • Mysql系列-索引简介
  • 「面试题」如何实现一个圣杯布局?
  • 【391天】每日项目总结系列128(2018.03.03)
  • 2017届校招提前批面试回顾
  • cookie和session
  • CSS居中完全指南——构建CSS居中决策树
  • 番外篇1:在Windows环境下安装JDK
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 两列自适应布局方案整理
  • 前端之Sass/Scss实战笔记
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 使用agvtool更改app version/build
  • 数组大概知多少
  • 用jquery写贪吃蛇
  • 原生js练习题---第五课
  • 通过调用文摘列表API获取文摘
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​批处理文件中的errorlevel用法
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • # linux 中使用 visudo 命令,怎么保存退出?
  • # 达梦数据库知识点
  • #HarmonyOS:基础语法
  • #QT(串口助手-界面)
  • #Spring-boot高级
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (11)MATLAB PCA+SVM 人脸识别
  • (145)光线追踪距离场柔和阴影
  • (day6) 319. 灯泡开关
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (简单) HDU 2612 Find a way,BFS。
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (五)activiti-modeler 编辑器初步优化
  • (新)网络工程师考点串讲与真题详解
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)Windows2003安全设置/维护
  • (转载)从 Java 代码到 Java 堆