我的思路:
前序遍历保证链表的有序性,并且在这个遍历的同时调整指针的指向

class Solution {public:Node* treeToDoublyList(Node* root) {if(root == nullptr) return nullptr;//如果是空的直接返回dfs(root);head->left = pre;pre->right = head;return head;}
private:Node *pre, *head;//建立的时候不需要初始化为空节点吗?void dfs(Node* cur) {if(cur == nullptr) return;dfs(cur->left);if(pre != nullptr) pre->right = cur;//前一个的右节点指向后一个else head = cur;//返回的第一个左节点cur->left = pre;//左节点要指向前一个,pre = cur;dfs(cur->right);}
};作者:jyd
链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/solution/mian-shi-ti-36-er-cha-sou-suo-shu-yu-shuang-xian-5/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2021-08-19剑指 Offer 36. 二叉搜索树与双向链表相关推荐

  1. 【LeetCode】剑指 Offer 36. 二叉搜索树与双向链表

    [LeetCode]剑指 Offer 36. 二叉搜索树与双向链表 文章目录 [LeetCode]剑指 Offer 36. 二叉搜索树与双向链表 package offer;//定义节点 class ...

  2. 【Java】 剑指offer(36) 二叉搜索树与双向链表

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不 ...

  3. 【LeetCode笔记】剑指 Offer 36. 二叉搜索树与双向链表(Java、二叉树、链表、原地算法)

    文章目录 题目描述 思路 && 代码 1. 非原地算法 2. 原地算法 二刷 题目描述 谈到二叉搜索树,那就得考虑考虑中序遍历啦- 这道题对中序遍历的理解提升很有好处! 思路 & ...

  4. [剑指offer] 36. 二叉搜索树与双向链表

    题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 需要返回双向链表最左侧的节点. 思路 1 排序链表:利用二叉搜索树的中序遍 ...

  5. 【算法】剑指 Offer 36. 二叉搜索树与双向链表

    1.概述 地址:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/ /* // De ...

  6. 【剑指offer】二叉搜索树转双向链表,C++实现

    原创博文,转载请注明出处! # 题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 二叉树节点的定义 struct TreeNod ...

  7. 剑指offer之二叉搜索树和双向链表

    1 问题 比如我们搜索二叉树如下,我们需要变成双向链表 2 分析 我们知道这个变成双向链接的时候是按照树的中序遍历打印的,我们只需要在中序遍历打印的时候操作该节点,我们可以用临时变量保存这个节点,同时 ...

  8. 【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列

    [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 文章目录 [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 package offer;public cl ...

  9. 【LeetCode】剑指 Offer 54. 二叉搜索树的第k大节点

    [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 文章目录 [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 一.中序遍历(提前返回) 一.中序遍历(提前返回) ...

最新文章

  1. java8 无符号_Java8包装类 新增 无符号运算方法
  2. 微软(北京).NET俱乐部 2008雪上激情之旅-续
  3. vsftp 550,227 报错解决
  4. 从JAVA转学习Go——Go在eclipse的环境搭建
  5. GIS叠加分析功能学习
  6. 985学校计算机专业毕业月薪过万,这八个985和211大学分数低,容易考,毕业后月薪过万...
  7. C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码
  8. 升讯威微信营销系统开发教程:(1)订阅号和服务号深入分析
  9. Java方法中的参数太多,第1部分:自定义类型
  10. 17级Biter的微机课程学习总结另外附上19年微机考试题型分布
  11. mariadb 卸载 Kali_Adobe官方卸载工具软件安装教程
  12. Origin抗锯齿和出现大C
  13. win10热点手机显示IP配置错误连不上和电脑连上网线没网络
  14. 适兕:成为开源布道师
  15. 简单记录一下春招旅程 腾讯字节
  16. ![CDATA[]] 的基本介绍
  17. 成都拓嘉辰丰电商:拼多多全店推广的作用
  18. SRS流媒体服务器搭建流程-简单实用版
  19. STM32内部flash详解(1)
  20. 理解ASAN的shadow memory和读懂报错信息

热门文章

  1. 给定一个由n个圆盘组成的塔,这些圆盘按照大小递减的方式套在第一根桩柱上。现要将整个塔移动到另一根桩柱上,每次只能移动一个圆盘,且较大的圆盘在移动过程中不能放置在较小的圆盘上面
  2. 如何快速制作OruxMaps离线地图
  3. LuaStudio源码分析1初次编译
  4. oracle根据两日期计算天数
  5. SpringBoot(32) 整合Forest实现调用第三方接口
  6. 让金融互联网-P2P网贷融资量增长10倍的广告宣传公益活动
  7. springboot上传文件MultipartFile.transferTo()
  8. Week10 作业B - LIS LCS
  9. adobe xd导出html,Adobe XD2018年10月更新,自动生成动画、导出到 After Effects等功能...
  10. Lua和C++交互详细总结【转载】