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

东莞网站建设推广费用梧州论坛 肇庆

东莞网站建设推广费用,梧州论坛 肇庆,做公司网站需要服务器吗,企业信息管理系统有哪些功能力扣刷题记录-二叉树展开为链表 题目描述 给定一个二叉树,原地将它展开为一个单链表。展开后的单链表应该同样使用 TreeNode,其中 right 子指针指向链表中下一个结点,而 left 子指针始终为 null。 解题思路 要将二叉树展开为链表&#xf…

力扣刷题记录-二叉树展开为链表

题目描述

给定一个二叉树,原地将它展开为一个单链表。展开后的单链表应该同样使用 TreeNode,其中 right 子指针指向链表中下一个结点,而 left 子指针始终为 null

解题思路

要将二叉树展开为链表,可以采用前序遍历的方式,将每个节点的左子树插入到右子树的位置,同时将原来的右子树接到左子树的最右节点。

具体步骤如下:

  1. 前序遍历:遍历二叉树的每个节点。
  2. 展开操作
    • 如果当前节点的左子树不为空,找到左子树的最右节点。
    • 将当前节点的右子树接到左子树的最右节点。
    • 将当前节点的左子树移动到右子树的位置,并将左子树置为 null
  3. 递归处理:对每个节点重复上述操作,直到所有节点处理完毕。

代码实现

以下是 C++ 的实现代码:

#include <iostream>struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};class Solution {
public:void flatten(TreeNode* root) {if (!root) return;// 展开左子树flatten(root->left);// 展开右子树flatten(root->right);// 保存右子树TreeNode* right = root->right;// 将左子树移到右子树的位置root->right = root->left;root->left = nullptr;// 找到当前右子树的最右节点TreeNode* curr = root;while (curr->right) {curr = curr->right;}// 将原来的右子树接到最右节点curr->right = right;}
};// 辅助函数:打印展开后的链表
void printFlattenedTree(TreeNode* root) {while (root) {std::cout << root->val << " ";root = root->right;}std::cout << std::endl;
}int main() {// 构建示例二叉树TreeNode* root = new TreeNode(1);root->left = new TreeNode(2);root->right = new TreeNode(5);root->left->left = new TreeNode(3);root->left->right = new TreeNode(4);root->right->right = new TreeNode(6);Solution solution;solution.flatten(root);// 打印展开后的链表printFlattenedTree(root);return 0;
}
http://www.dtcms.com/wzjs/533967.html

相关文章:

  • 做电影网站用什么cms上海企业登记在线官网
  • 饿了么网站做要多少钱优化网站seo
  • 怎么在阿里云服务器上建设网站seo百度站长工具查询
  • 爱网站关键词挖掘工具企业网站系统功能设计说明
  • 网站长图怎么做东阳网站建设怎么选
  • 毕业设计网页制作网站建设网站备案照片要求
  • 网站建设与管理实训心得体会品牌设计包括哪些方面
  • 电脑做服务器搭建网站白云区网站建设
  • 做网站域名还重要吗app download
  • 设计工作室网站源码网络推广服务费
  • 达县网站制作朋友要我帮忙做网站
  • seo网站建设规划广安网站开发
  • 网站主机 分为番禺人才招聘网
  • 创意做美食视频网站wordpress添加主题设置
  • 如何设计网站布局网站响应时间方案
  • 优秀的图片设计网站php网站怎么注入
  • 域名网站建设方案书济南做网站要多少钱
  • 代理建设网站wordpress更改固定链接后无法登陆
  • 手机建站官网智能科技 光速东莞网站建设
  • 国际购物网站平台有哪些网络营销推广的核心是什么
  • 做以个一元购的网站多少钱舆情分析是个什么行业
  • 网站建设技术流程网站图片设置
  • 贵州网站建设 零玖伍壹网络宿州网站建设网站
  • 杭州平台网站建设h5网站和传统网站
  • 如何组建做网站的团队中国建设银行湖南分行官网站
  • 菜户营网站建设济南高新区网站建设公司
  • 深圳互联网公司网站wordpress 搭建查询
  • 网站开发是打代码吗网站优化的方法有哪些
  • 做网站对电脑要求高吗上海市城乡建设网站
  • 做笔记的网站vi设计多少钱