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

口碑好的专业网站建设外网访问群晖wordpress

口碑好的专业网站建设,外网访问群晖wordpress,在哪个平台做网站好,怎么申请公司网站注册声明 该系列文章仅仅展示个人的解题思路和分析过程,并非一定是优质题解,重要的是通过分析和解决问题能让我们逐渐熟练和成长,从新手到大佬离不开一个磨练的过程,加油! 原题链接 翻转二叉树备战技术面试?…
声明

该系列文章仅仅展示个人的解题思路和分析过程,并非一定是优质题解,重要的是通过分析和解决问题能让我们逐渐熟练和成长,从新手到大佬离不开一个磨练的过程,加油!

原题链接

翻转二叉树备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/invert-binary-tree/

算法分析

        如下图1和图2可按照(1)、(2)、(3)、(4)的顺序依次对每个非叶子节点的左右孩子节点进行镜像反转,对于只有一个孩子节点的节点也要进行镜像反转操作。

图1

图2

        分析:

        1.如何完成镜像反转?

        可以通过递归遍历整棵树,遍历过程中按照以下方式进行判断和操作:

        (1)若当前节点为空或无左孩子和右孩子节点则return;

        (2)否则继续遍历左右孩子节点;

        (3)交换左右孩子节点;

        2.如何交换左右孩子节点?

        (1)左右孩子节点均不为空,则交换左右孩子节点;

        (2)左孩子节点为空&&右孩子节点不为空,则左孩子节点=右孩子节点,右孩子节点置空;

        (3)右孩子节点为空&&左孩子节点不为空,则右孩子节点=左孩子节点,左孩子节点置空.

代码示例(C#)
//翻转二叉树
public TreeNode MirrorTree(TreeNode root)
{if (root != null) Reverse(root);return root;
}//对以指定节点为根节点的二叉树进行镜像反转操作
private void Reverse(TreeNode node)
{//检测是否满足镜像反转要求if (node == null || (node.left == null && node.right == null)) return;if (node.left != null) Reverse(node.left);//对当前节点的左孩子节点进行镜像反转操作if (node.right != null) Reverse(node.right);//对当前节点的右孩子节点进行镜像反转操作SwapChildren(node);//交换当前节点的左右孩子节点
}//交换指定节点的左右孩子节点
private void SwapChildren(TreeNode node)
{if (node.left != null && node.right != null)(node.left, node.right) = (node.right, node.left);else if (node.left == null && node.right != null)(node.left, node.right) = (node.right, null);else if (node.left != null && node.right == null)(node.right, node.left) = (node.left, null);
}
算法解说

       根据题目要求我们需要对一个二叉树进行翻转操作,主方法的输入是该二叉树的根节点,返回值也是一个节点。实际上我们可以对问题进行细分,对二叉树的翻转实际上就是对二叉树节点的交换或者说是将每个节点的位置进行重新排序,有的节点的位置保持不变(如根节点),有的节点则需要与其它节点交换位置(如叶子节点等)。

       对问题进行转换后,我们自然需要对整个二叉树进行遍历,那么我们就需要搞清楚两个问题。

       1.什么时候交换节点?

       2.怎么交换节点?

       如图1和图2我们列举出了本题目将会出现的两种二叉树,根据这两种二叉树我们去找到上面两个问题的答案,具体思路请参考算法分析。

       如何将算法分析转换为代码,依旧是确定两个点,一是变量,二是逻辑主体,本题目的算法分析中并没有要求需要单独定义变量去记录数据,所以我们只看逻辑主体即可,代码示范中,我们将节点交换方法独立出来,以方便维护以及增加可读性,由于我们采用的是递归方式遍历二叉树,所以进行二叉树反转的逻辑我们也将其单独定义为一个函数。

http://www.yayakq.cn/news/519268/

相关文章:

  • 现在的网络推广怎么做seo工作室
  • 网站建设与开发教学大纲广州娱乐场所最新通知
  • 商城网站建设教程wordpress改投票系统
  • 佛山市和城乡建设局网站大连市建设工程招标信息网
  • 酒店电子商务网站策划书百度智能云建站
  • 北京定制网站建设公司wordpress建手机站
  • 毕节城乡建设局网站做音频后期的素材网站
  • 网站后台数据采集上海网站seo
  • 酒店用品网站源码济南酷火网站建设
  • 移动商城网站建设网站建设与实践步骤
  • 网站哪个公司做的比较好的赣州室内设计学校
  • 建筑网站排行榜找人做试管婴儿的网站
  • flash个人网站动画人力资源服务外包
  • 什么是小手机型网站阿里云网站模板送域名
  • 盱眙网站制作阳江网胜
  • 免费网站奖励自己游戏热门网页游戏平台
  • 网站建设ftp软件WordPress登录美化扁平化
  • 城乡建设部网站施工员证书查询酒类网站该怎么做
  • 网站开发工具简述网站开发的完整流程图
  • ps素材网站大全陕西做网站的公司电话
  • 酒店手机网站首页设计网站建设哪好
  • 没内容的网站怎么优化wordpress发布文章报错
  • 网站模板下载 免费网站添加广告源码
  • 网站建设 博客thinkphp 显示第三方网站图片
  • 专门做图的网站网站可分为哪两种类型
  • 网站 源码 下载厦门市建设工程在哪备案网站
  • 吉安建设工程项目网站修改dns连接外国网站
  • 网站模板是什么家具网站案例
  • 电影网站加盟可以做么郑州网站制作网
  • 文学网站建设湖州市南浔区建设局网站