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

收集链接 做网站凡科建站官网免费注册

收集链接 做网站,凡科建站官网免费注册,南京做网站南京乐识权威,网站服务器怎么迁移本文主要讲解反转二叉树的要点与细节,按照步骤思考更方便理解 c和java代码如下,末尾 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 具体要点: 1. 首先我们要理解题意, 反转二叉树具体…

 本文主要讲解反转二叉树的要点与细节,按照步骤思考更方便理解 

c++和java代码如下,末尾

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

 具体要点:

1. 首先我们要理解题意, 反转二叉树具体来说,就是针对每个节点交换他们左右子节点的指针(而不是交换数值)


2. 既然是涉及到交换,那么就是需要swap函数,或者是temp临时变量,如下

swap(root->left, root->right);    //交换左右子树的指针


3.  其次,涉及到二叉树,我们第一时间就要想到二叉树的遍历顺序,以及递归或是遍历操作。文章末尾会具体分析什么时候用哪种方式。

        本题我们优先使用前序遍历+递归操作,不了解二叉树遍历顺序的,可以参考这个文章

        前序 左 右

        递归:递归参数与返回值 + 终止条件 + 单层递归逻辑


4. 接下来,我们具体考虑递归应该怎么写

        首先,递归参数与返回值

递归传入的参数是我们每次的节点,返回的也是我们传入的节点

TreeNode* invertTree(TreeNode* root) 

        其次,确定终止条件:

对于二叉树来说,终止条件一般是遇到节点是null,就终止,并返回 

if (root == nullptr)return root;

        最后,确定单层递归逻辑:

 在2中我们已经分析了,要交换左右子树的指针,接下来,我们就要继续递归左右子树

 //递归操作,交换左右子树
swap(root->left, root->right);
//左子树
invertTree(root->left);
//右子树
invertTree(root->right);

 5. 最后总结:

在二叉树的遍历中,我们通常使用不同的数据结构来模拟递归过程或实现特定的遍历顺序(层序遍历)。

通常来说,前中后序遍历——递归,层序遍历——队列模拟(广度优先遍历)

但是前中后序遍历,也可以用迭代法实现——栈模拟(深度优先遍历)


 c++代码如下:

class Solution {
public:TreeNode* invertTree(TreeNode* root) {//递归,前序遍历(中左右)//递归终止条件if (root == nullptr)return root;//递归操作,交换左右子树swap(root->left, root->right);//左子树invertTree(root->left);//右子树invertTree(root->right);return root;}
};

java代码如下:

class Solution {public TreeNode invertTree(TreeNode root) {if(root == null) return null;TreeNode temp=root.left;root.left=root.right;root.right=temp;invertTree(root.left);invertTree(root.right);return root;}
}

http://www.ds6.com.cn/news/116455.html

相关文章:

  • 百度竞价网站源码百度相册登录入口
  • 临沂城乡建设管理局网站免费的网站申请
  • 网站域名到期不续费会怎么样引流推广营销
  • 网站建设的设备口碑营销方案
  • 苏州做企业网站网页生成器
  • 怎么做套板网站北京官网优化公司
  • 江西赣州疫情防控最新政策网站关键词快速优化
  • 做网站要不要钱宁波seo整体优化公司
  • 舟山普陀区建设局网站病毒式营销的案例
  • 两学一做党员夜校播放网站徐州seo外包
  • 怎么提升网站的排名头条搜索是百度引擎吗
  • wordpress 随机展示太原seo快速排名怎么样
  • 如何做公司介绍视频网站网络营销渠道有哪几种
  • 广州市人民政府网站关键词优化步骤简短
  • wordpress function.php 在哪里青岛网站seo服务
  • wordpress配合七牛云太原关键词排名优化
  • 网站和网页的区别是什么seo外包大型公司
  • wordpress 党建 主题南京seo公司哪家
  • 网站一般用什么软件做的网站访问量排行榜
  • 荔湾区建设局网站百度推广多少钱一天
  • 网站建设总结 优帮云百度url提交
  • app网站制作做营销怎样才能吸引客户
  • 购物商城网站开发实验报告网络宣传渠道
  • 上市公司网站建设评价东莞seo建站
  • 做一个网站中的搜索功能怎么做google推广教程
  • 湟源县网站建设网站恶意点击软件
  • 企业 手机网站广告策划方案怎么做
  • 做宠物的网站主题思想培训学校招生方案范文
  • 深圳市官网网站建设平台今日国内新闻大事20条
  • 推荐一本学做网站的书石家庄seo推广