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

有什么网站可以做任务赚钱/网络营销策划书1500字

有什么网站可以做任务赚钱,网络营销策划书1500字,wordpress vr主题公园,wordpress 短代码打卡day13 目 录第一题:剑指 Offer 55 - I. 二叉树的深度第二题:剑指 Offer 55 - II. 平衡二叉树第三题:剑指 Offer 68 - I. 二叉搜索树的最近公共祖先第四题:剑指 Offer 68 - II. 二叉树的最近公共祖先第一题:剑指 Of…

打卡day13

目 录

    • 第一题:剑指 Offer 55 - I. 二叉树的深度
    • 第二题:剑指 Offer 55 - II. 平衡二叉树
    • 第三题:剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
    • 第四题:剑指 Offer 68 - II. 二叉树的最近公共祖先

第一题:剑指 Offer 55 - I. 二叉树的深度

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。

例如:

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

  3/ \9  20/  \15   7

返回它的最大深度 3 。

**提示:**节点总数 <= 10000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof

解题思路:
树的后序遍历( 深度优先搜索) 往往利用 递归 或 栈 实现.
关键点: 树的深度和其左(右)子树的深度之间的关系。
树的深度 等于 左子树的深度 与 右子树的深度 中的 最大值 +1 。

java代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public int maxDepth(TreeNode root) {//特例,root为空时if(root == null){return 0;}int left = maxDepth(root.left);//左子树的深度 int right = maxDepth(root.right);//右子树的深度 return Math.max(left, right)+1;}
}

第二题:剑指 Offer 55 - II. 平衡二叉树

输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。

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

  3/ \9  20/  \15   7

返回 true 。

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

       1/ \2   2/ \3   3/ \4   4

返回 false 。

限制:
0 <= 树的结点个数 <= 10000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ping-heng-er-cha-shu-lcof

解题思路:
和上题相同,树的深度 等于 左子树的深度 与 右子树的深度 中的 最大值 +1 。
可以构造一个获取当前子树的深度的函数 depth(root) (就是上一题),通过比较某子树的左右子树的深度差 abs(depth(root.left) - depth(root.right)) <= 1 是否成立,来判断某子树是否是二叉平衡树。若所有子树都平衡,则此树平衡。

java代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public boolean isBalanced(TreeNode root) {//特例,为空if (root == null) {return true;}int left = maxDepth(root.left);int right = maxDepth(root.right);int i = Math.abs(left - right);return i <= 1 && isBalanced(root.left) && isBalanced(root.right);}private int maxDepth(TreeNode root) {if (root == null){ return 0;}int left = maxDepth(root.left);//左子树的深度 int right = maxDepth(root.right);//右子树的深度 return Math.max(left, right)+1;}}

第三题:剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]
请添加图片描述

示例 1:
输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8
输出: 6
解释: 节点 2 和节点 8 的最近公共祖先是 6。

示例 2:
输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 4
输出: 2
解释: 节点 2 和节点 4 的最近公共祖先是 2, 因为根据定义最近公共祖先节点可以为节点本身。

说明:
所有节点的值都是唯一的。
p、q 为不同节点且均存在于给定的二叉搜索树中。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof

解题思路:
祖先的定义: 若节点 pp 在节点 root 的左(右)子树中,或 p = root,则称 root是 p 的祖先.
本题给定了两个重要条件:① 树为 二叉搜索树 ,② 树的所有节点的值都是 唯一 的。根据以上条件,可方便地判断 p,q与 root 的子树关系,即:

若 root.val < p.val,则 pp 在 root 右子树 中;
若 root.val > p.val ,则 pp 在 root左子树 中;
若 root.val = p.val ,则 pp 和 root 指向 同一节点 。

java代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {while(root != null) {if(root.val < p.val && root.val < q.val){ // p,q 都在 root 的右子树中root = root.right; // 遍历至右子节点}else if(root.val > p.val && root.val > q.val){ // p,q 都在 root 的左子树中root = root.left; // 遍历至左子节点}else break;//分别在左右子树,公共祖先为root}return root;}
}

第四题:剑指 Offer 68 - II. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]

请添加图片描述

示例 1:
输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1
输出: 3
解释: 节点 5 和节点 1 的最近公共祖先是节点 3。

示例 2:
输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4
输出: 5
解释: 节点 5 和节点 4 的最近公共祖先是节点 5。因为根据定义最近公共祖先节点可以为节点本身。

说明:
所有节点的值都是唯一的。
p、q 为不同节点且均存在于给定的二叉树中。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof

解题思路:
用的递归,和上题一样。
java代码:

class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(root == null || root == p || root == q) return root;TreeNode left = lowestCommonAncestor(root.left, p, q);TreeNode right = lowestCommonAncestor(root.right, p, q);if(left == null) return right;if(right == null) return left;return root;}
}
http://www.jmfq.cn/news/4918339.html

相关文章:

  • 定制化网站开发一般多少钱/媒体软文推广平台
  • 新手做电影网站好/汕头seo服务
  • 代购网站项目描述/百度一下就知道首页
  • 做公司网站报价/免费的网站推广
  • 皋兰县城乡和住房建设局网站/关键词推广优化排名品牌
  • 摄影网站下载/重庆seo顾问
  • 做个网站一般多少钱/产品软文是什么意思
  • 新疆生产建设兵团职业资格证书查询官方网站/seo优化软件免费
  • php快速开发平台/移动端seo关键词优化
  • 电烤箱做蛋糕网站/成都seo正规优化
  • 网站建设招聘/网站外链的优化方法
  • 电子网站搜索引擎怎么做/b2b平台推广
  • java 音乐网站开发/seo专业培训技术
  • 网站做专题页面/百度云网盘网页版登录
  • 为传销做网站/市场seo是什么
  • 深圳网站开发的公司/站内推广方式有哪些
  • 梁平集团网站建设/山东网页定制
  • 单屏滚动网站/百度提交入口网址是指在哪里
  • 接做名片的网站/国内看不到的中文新闻网站
  • 做电信宽带合适做网站吗/爱站网长尾关键词挖掘工具福利片
  • wordpress调用搜索功能/移投界seo
  • 企业公司网站/seo 优化技术难度大吗
  • 查企业的信息在哪个官网/seo管理系统
  • 云梦建站/计算机培训课程
  • 方一凡和磊儿做家教的网站/seo点击优化
  • 交友最好的网站建设/查权重的软件
  • 东莞设计展/武汉seo工作室
  • 昆明网站建设推广公司哪家好/seo chinaz
  • 彩投网站建设/如何制作一个网页
  • 网站建设连接数据库/今天合肥刚刚发生的重大新闻