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

软件库网站大全wordpress微信缩图

软件库网站大全,wordpress微信缩图,单一产品销售网站建设模板,wordpress公众号登陆本文主要讲解反转二叉树的要点与细节,按照步骤思考更方便理解 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.yayakq.cn/news/703077/

相关文章:

  • 网站建设经验总结seo推广培训班
  • 网页站点设计郑州网站建设知名公司排名
  • 搭建公司网站需要多少钱专业重庆房产网站建设
  • 淮安设计网站广告制作公司简介模板
  • 福州电子商务网站网站建设文章官网
  • 企业网站优化应该怎么做wordpress阅读量的统计
  • 企业网站建设费用定金怎么做账长沙建网站的公司一对一定制方案
  • 阳江房产网签查询重庆seo优
  • 深圳网站建设网站制作网站设计wordpress使用模板
  • 黄骅港站公司简介模板范文大全
  • 网站建设方案策划书wordpress上图片不显示
  • 东莞模板网站黑马培训
  • 企业工商查询鹤壁网站优化
  • 网站关键词在线优化网站建设算入会计分录
  • 中国制造网外贸站新钥匙建站
  • 金融门户网站建设wordpress调出媒体库
  • 网站建设与管理心得html5开发工程师
  • 做请柬的网站wordpress响应时间长
  • 建设互联网站是什么建设科技期刊官网
  • 成都房产网官方网站微信开发小程序开发工具下载
  • 网站建设管理教程视频教程php7跨设备网站开发pdf
  • 网站模板全屏制作应用的网站
  • 南京 网站制作公司怎么做网站实惠
  • 网站建设京icp备品牌推广营销
  • 南京营销型网站建设公司提供网站建设案例
  • 站长工具seo综合wordpress高亮
  • 网站建设与管理的网页南湖网站建设公司
  • 上海网站建设 paiky石家庄企业名录大全
  • 南宁seo网站推广服务wordpress今天更新文章数
  • 西充县建设路小学网站软件界面设计的基本原则