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

刷题——二叉搜索树与双向链表

二叉搜索树与双向链表_牛客题霸_牛客网

方法一:

void dfs(TreeNode* pRootOfTree, TreeNode* &pre){if(pRootOfTree == NULL)return;dfs(pRootOfTree->left, pre);//所有左子树if(pre)pre->right = pRootOfTree;pRootOfTree->left = pre;pre = pRootOfTree;//更新pre到下一个结点dfs(pRootOfTree->right, pre);//所有结点的右子树}TreeNode* Convert(TreeNode* pRootOfTree) {if(pRootOfTree == NULL) return pRootOfTree;TreeNode* pre = NULL;dfs(pRootOfTree, pre);TreeNode* head = pRootOfTree;//找链表头结点while(head->left){head = head->left;}return head;}

方法二:

TreeNode* pre = NULL,*head = NULL;void dfs(TreeNode* pRootOfTree){if(pRootOfTree == NULL) return;dfs(pRootOfTree->left);//所有左子树if(pre) pre->right = pRootOfTree;else head = pRootOfTree;pRootOfTree->left = pre;pre = pRootOfTree;//更新pre到下一个结点dfs(pRootOfTree->right);//所有结点的右子树}TreeNode* Convert(TreeNode* pRootOfTree) {if(pRootOfTree == NULL) return pRootOfTree;dfs(pRootOfTree);head->left = pre;//最后一个结点pre->right = head;//最前一个结点return head;}

http://www.lryc.cn/news/387829.html

相关文章:

  • 【Linux】进程优先级 | 环境变量
  • 最新手动迁移WordPress方法
  • ChatGPT在程序开发中的应用:提升生产力的秘密武器
  • AI与Python共舞:如何利用深度学习优化推荐系统?
  • URLSearchParams: 浏览器中的查询字符串处理利器
  • 2024最新初级会计职称题库来啦!!!
  • Stirling PDF 部署 - 强大的PDF Web在线编辑工具箱
  • 大数据面试题之MapReduce(3)
  • [leetcode]squares-of-a-sorted-array. 有序数组的平方
  • 使用Spring Boot和Spring Data JPA进行数据库操作
  • 《昇思25天学习打卡营第17天 | 昇思MindSporeCycleGAN图像风格迁移互换》
  • SecureCRT使用SSH登录服务器报错:Key exchange failed
  • Oracle给用户单个表查询权限
  • [Go 微服务] Kratos 验证码业务
  • 等保2.0安全计算环境解读
  • Qt视频播放器(二)
  • 普元EOS学习笔记-创建精简应用
  • 观察者模式在金融业务中的应用及其框架实现
  • 最新docker仓库镜像
  • springboot 3.x相比之前版本有什么区别
  • Python逻辑控制语句 之 判断语句--if语句的基本结构
  • LeetCode 算法:翻转二叉树 c++
  • 七天速通javaSE:第五天 数组进阶
  • 游戏心理学Day28
  • 鸿蒙开发设备管理:【@ohos.multimodalInput.inputEventClient (注入按键)】
  • C++:std::function的libc++实现
  • DM 的断点续传测试
  • 力扣每日一题 6/30 记忆化搜索/动态规划
  • 图像基础知识入门【图像概念不同图像格式】
  • HP服务器基于SNMP-ilo4的硬件监控指标解读