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

wordpress多个菜单menuseo排名优化工具

wordpress多个菜单menu,seo排名优化工具,保网微商城官网登录,网站的三级页面怎么做“ 我喜欢晴天,你恰好是最好的太阳” 226.翻转二叉树 力扣题目链接(opens new window) 翻转一棵二叉树。 这道题我们可以通过递归法解决,我们只要递归的把每一个节点的左右孩子反转一下就能解决了。 代码如下: var invertTree function(ro…

 

 

“ 我喜欢晴天,你恰好是最好的太阳”


226.翻转二叉树

力扣题目链接(opens new window)

翻转一棵二叉树。

226.翻转二叉树

这道题我们可以通过递归法解决,我们只要递归的把每一个节点的左右孩子反转一下就能解决了。 

 代码如下:

var invertTree = function(root) {// 终止条件if (!root) {return null;}// 交换左右节点const rightNode = root.right;root.right = invertTree(root.left);root.left = invertTree(rightNode);return root;
};

 

101. 对称二叉树

力扣题目链接(opens new window)

给定一个二叉树,检查它是否是镜像对称的。

101. 对称二叉树

 

首先想清楚,判断对称二叉树要比较的是哪两个节点,要比较的可不是左右节点!

对于二叉树是否对称,要比较的是根节点的左子树与右子树是不是相互翻转的,理解这一点就知道了其实我们要比较的是两个树(这两个树是根节点的左右子树),所以在递归遍历的过程中,也是要同时遍历两棵树。

这个题的核心就是在遍历的同时遍历两棵树!

本题遍历只能是“后序遍历”,因为我们要通过递归函数的返回值来判断两个子树的内侧节点和外侧节点是否相等。

正是因为要遍历两棵树而且要比较内侧和外侧节点,所以准确的来说是一个树的遍历顺序是左右中,一个树的遍历顺序是右左中。

var isSymmetric = function(root) {// 使用递归遍历左右子树 递归三部曲// 1. 确定递归的参数 root.left root.right和返回值true false const compareNode = function(left, right) {// 2. 确定终止条件 空的情况if(left === null && right !== null || left !== null && right === null) {return false;} else if(left === null && right === null) {return true;} else if(left.val !== right.val) {return false;}// 3. 确定单层递归逻辑let outSide = compareNode(left.left, right.right);let inSide = compareNode(left.right, right.left);return outSide && inSide;}if(root === null) {return true;}return compareNode(root.left, root.right);
};

 

 

104.二叉树的最大深度

力扣题目链接(opens new window)

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例: 给定二叉树 [3,9,20,null,null,15,7],

104. 二叉树的最大深度

返回它的最大深度 3 。

 这道题我能想到的第一步就是递归,遍历到最底层;

这道题的递归思想是这样的:我们分别递归左右子树的最大深度,并且在递归过程中不断取他们的最大值,最后加上根节点就能得到最大深度了。

代码如下:

var maxdepth = function(root) {//使用递归的方法 递归三部曲//1. 确定递归函数的参数和返回值const getdepth = function(node) {//2. 确定终止条件if(node === null) {return 0;}//3. 确定单层逻辑let leftdepth = getdepth(node.left);let rightdepth = getdepth(node.right);let depth = 1 + Math.max(leftdepth, rightdepth);return depth;}return getdepth(root);
};

 

559.n叉树的最大深度

力扣题目链接(opens new window)

给定一个 n 叉树,找到其最大深度。

最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。

例如,给定一个 3叉树 :

559.n叉树的最大深度

我们应返回其最大深度,3。

和上一道题的思路一样,原本是左右节点,现在我们要从左到右依次遍历子节点。

代码如下


 

111.二叉树的最小深度

力扣题目链接(opens new window)

给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明: 叶子节点是指没有子节点的节点。

示例:

给定二叉树 [3,9,20,null,null,15,7],

111.二叉树的最小深度1

返回它的最小深度 2.

这道题我们要注意,左右孩子都为空的时候才算是叶子节点。

var minDepth1 = function(root) {if(!root) return 0;// 到叶子节点 返回 1if(!root.left && !root.right) return 1;// 只有右节点时 递归右节点if(!root.left) return 1 + minDepth(root.right);// 只有左节点时 递归左节点if(!root.right) return 1 + minDepth(root.left);return Math.min(minDepth(root.left), minDepth(root.right)) + 1;
};

 

222.完全二叉树的节点个数

力扣题目链接(opens new window)

给出一个完全二叉树,求出该树的节点个数。

示例 1:

  • 输入:root = [1,2,3,4,5,6]
  • 输出:6

示例 2:

  • 输入:root = []
  • 输出:0

示例 3:

  • 输入:root = [1]
  • 输出:1

提示:

  • 树中节点的数目范围是[0, 5 * 10^4]
  • 0 <= Node.val <= 5 * 10^4
  • 题目数据保证输入的树是 完全二叉树

 这道题的前提是完全二叉树,我们在遍历的时候它肯定会有左右节点知道遍历到叶节点。

代码如下:


110.平衡二叉树

力扣题目链接(opens new window)

给定一个二叉树,判断它是否是高度平衡的二叉树。

本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。

示例 1:

给定二叉树 [3,9,20,null,null,15,7]

110.平衡二叉树

返回 true 。

示例 2:

给定二叉树 [1,2,2,3,3,null,null,4,4]

110.平衡二叉树1

返回 false 。

 

1.明确递归函数的参数和返回值

参数:当前传入节点。 返回值:以当前传入节点为根节点的树的高度。

那么如何标记左右子树是否差值大于1呢?

如果当前传入节点为根节点的二叉树已经不是二叉平衡树了,还返回高度的话就没有意义了。

所以如果已经不是二叉平衡树了,可以返回-1 来标记已经不符合平衡树的规则了。

2.明确终止条件

递归的过程中依然是遇到空节点了为终止,返回0,表示当前节点为根节点的树高度为0

3.明确单层递归的逻辑

如何判断以当前传入节点为根节点的二叉树是否是平衡二叉树呢?当然是其左子树高度和其右子树高度的差值。

分别求出其左右子树的高度,然后如果差值小于等于1,则返回当前二叉树的高度,否则返回-1,表示已经不是二叉平衡树了。


257. 二叉树的所有路径

力扣题目链接(opens new window)

给定一个二叉树,返回所有从根节点到叶子节点的路径。

说明: 叶子节点是指没有子节点的节点。

示例: 

257.二叉树的所有路径1

这道题目要求从根节点到叶子的路径,所以需要前序遍历,这样才方便让父节点指向孩子节点,找到对应的路径。

在这道题目中将第一次涉及到回溯,因为我们要把路径记录下来,需要回溯来回退一个路径再进入另一个路径。

 


 涉及到回溯了,等鼠鼠学了再来详细解释。

http://www.dtcms.com/wzjs/508911.html

相关文章:

  • seo做的最好的十个网站最新网域查询入口
  • 网站建设苏州seo霸屏软件
  • 首页网站怎么做的百度代理
  • 代理公司注册登记南宁seo标准
  • 完整网站开发流程网络营销推广外包服务
  • 招财猫网站怎么做互联网推广
  • wordpress英文主题变中文版seo伪原创工具
  • 做网站那个好怎么在百度上面打广告
  • wordpress ajax请求搜外seo视频 网络营销免费视频课程
  • 租用网站服务器价格网站排名
  • 做网站放博彩广告汕头百度网站推广
  • 青岛网景互联网站建设公司武汉java培训机构排名榜
  • 做自己的网站收费吗百度广告联盟怎么赚钱
  • 建设商城网站制作磁力猫最好磁力搜索引擎
  • 自动评论插件wordpress百度点击优化
  • 网站建设开拓该行业的难点疑网址注册查询
  • 响应式网站用什么工具做百度seo排名优化联系方式
  • 政府网站建设与行政管理创新google chrome官网
  • 做网站js框架百度竞价推广有哪些优势
  • 做网站不花钱中文域名的网站
  • 首页重庆网站建设百度推广营销方案
  • 想学网站建设选计算机应用技术还是计算机网络技术哪个专业啊谷歌浏览器下载手机版
  • 申请建设部门网站的报告学生网页制作成品
  • 建站借鉴其他网站外贸公司一般怎么找客户
  • 广州网站推广找哪里宁波靠谱营销型网站建设
  • 网站三合一seo的研究对象
  • 哈尔滨网站建设制作哪家好苏州疫情最新情况
  • 哪个网站可以做海报湖南seo服务电话
  • 2019为赌博网站做代理被判缓刑百度云网盘官网
  • 网站大屏轮播图效果怎么做今日微博热搜榜前十名