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

网站备案 网站建设方案书seo网站排名优化软件是什么

网站备案 网站建设方案书,seo网站排名优化软件是什么,石家庄市人民政府官网,湖南省建设厅政务中心网站这是基于代码随想录的每日打卡 654. 最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组…

这是基于代码随想录的每日打卡

654. 最大二叉树

给定一个不重复的整数数组 nums最大二叉树 可以用下面的算法从 nums 递归地构建:

  1. 创建一个根节点,其值为 nums 中的最大值。
  2. 递归地在最大值 左边子数组前缀上 构建左子树。
  3. 递归地在最大值 右边子数组后缀上 构建右子树。

返回 nums 构建的 最大二叉树

示例 1:

img

输入:nums = [3,2,1,6,0,5]
输出:[6,3,5,null,2,0,null,null,1]
解释:递归调用如下所示:
- [3,2,1,6,0,5] 中的最大值是 6 ,左边部分是 [3,2,1] ,右边部分是 [0,5] 。- [3,2,1] 中的最大值是 3 ,左边部分是 [] ,右边部分是 [2,1] 。- 空数组,无子节点。- [2,1] 中的最大值是 2 ,左边部分是 [] ,右边部分是 [1] 。- 空数组,无子节点。- 只有一个元素,所以子节点是一个值为 1 的节点。- [0,5] 中的最大值是 5 ,左边部分是 [0] ,右边部分是 [] 。- 只有一个元素,所以子节点是一个值为 0 的节点。- 空数组,无子节点。

示例 2:

img

输入:nums = [3,2,1]
输出:[3,null,2,null,1]

递归法

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def constructMaximumBinaryTree(self, nums: List[int]) -> Optional[TreeNode]:# 递归终止条件if len(nums)==1:return TreeNode(nums[0])# 递归逻辑# 找最大值max_val=max(nums)root=TreeNode(max_val)# 最大值索引index=nums.index(max_val)# 左数组left_nums=nums[:index]# 右数组right_nums=nums[index+1:]# 如果左数组个数大于1才能递归if len(left_nums)>=1:left_child=self.constructMaximumBinaryTree(left_nums)root.left=left_child# 如果左数组没有元素则指向空,其实本来就默认指向空,这里为了逻辑完整好理解else:root.left=None# 右数组同上if len(right_nums)>=1:right_child=self.constructMaximumBinaryTree(right_nums)root.right=right_childelse:root.right=Nonereturn root

运行结果

在这里插入图片描述



617. 合并二叉树

给你两棵二叉树: root1root2

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。

返回合并后的二叉树。

注意: 合并过程必须从两个树的根节点开始。

示例 1:

img

输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]
输出:[3,4,5,5,4,null,7]

示例 2:

输入:root1 = [1], root2 = [1,2]
输出:[2,2]

递归法

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def mergeTrees(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]:# 递归终止条件if root1==None and root2!=None:return root2if root1!=None and root2==None:return root1if root1==None and root2==None:return None# 递归逻辑# 这里开辟一个新二叉树,不过也可以直接在tree1或者tree2上直接进行修改root_val=root1.val+root2.valroot=TreeNode(root_val)root.left=self.mergeTrees(root1.left,root2.left)root.right=self.mergeTrees(root1.right,root2.right)return root

在这里插入图片描述



700. 二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点 root 和一个整数值 val

你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null

示例 1:

img

输入:root = [4,2,7,1,3], val = 2
输出:[2,1,3]

示例 2:

img

输入:root = [4,2,7,1,3], val = 5
输出:[]

递归法

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:if root==val:return root# 递归终止条件if root==None:return Noneif root.val==val:return root# 递归逻辑 if root.val>val:return self.searchBST(root.left,val)if root.val<val:return self.searchBST(root.right,val)

运行结果

在这里插入图片描述


迭代法

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:while root:if root.val>val:root=root.leftelif root.val<val:root=root.rightelse:# 相等情况return root# 没找到,返回Nonereturn None

运行结果

在这里插入图片描述



98. 验证二叉搜索树

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

有效 二叉搜索树定义如下:

  • 节点的左子树只包含小于当前节点的数。
  • 节点的右子树只包含 大于 当前节点的数。
  • 所有左子树和右子树自身必须也是二叉搜索树。

示例 1:

img

输入:root = [2,1,3]
输出:true

示例 2:

img

输入:root = [5,1,4,null,null,3,6]
输出:false
解释:根节点的值是 5 ,但是右子节点的值是 4 。

递归法

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def __init__(self):self.pre=Nonedef isValidBST(self, root: Optional[TreeNode]) -> bool:# 由于二叉搜索树按中序遍历就是单调递增,所以递归按照中序遍历来# 递归终止条件if root==None:return True# 递归逻辑left=self.isValidBST(root.left)if self.pre and self.pre.val>=root.val:return Falseelse:self.pre=rootright=self.isValidBST(root.right)return left and right

运行结果

在这里插入图片描述

有问题欢迎评论或私信


文章转载自:
http://bruvver.jtrb.cn
http://semidiameter.jtrb.cn
http://ishmael.jtrb.cn
http://phosphate.jtrb.cn
http://auralize.jtrb.cn
http://selenite.jtrb.cn
http://roulade.jtrb.cn
http://ferly.jtrb.cn
http://pissed.jtrb.cn
http://panelist.jtrb.cn
http://heronry.jtrb.cn
http://rhinolaryngitis.jtrb.cn
http://antineoplastic.jtrb.cn
http://undissolved.jtrb.cn
http://sylvatic.jtrb.cn
http://outclass.jtrb.cn
http://zoodynamics.jtrb.cn
http://burb.jtrb.cn
http://radiology.jtrb.cn
http://malvaceous.jtrb.cn
http://gloria.jtrb.cn
http://sensitise.jtrb.cn
http://scooter.jtrb.cn
http://gourdful.jtrb.cn
http://eek.jtrb.cn
http://smug.jtrb.cn
http://caballero.jtrb.cn
http://tussive.jtrb.cn
http://vibrometer.jtrb.cn
http://hoise.jtrb.cn
http://murderess.jtrb.cn
http://dumpish.jtrb.cn
http://vasty.jtrb.cn
http://clearing.jtrb.cn
http://ahungered.jtrb.cn
http://bake.jtrb.cn
http://chancel.jtrb.cn
http://neckwear.jtrb.cn
http://purulence.jtrb.cn
http://paca.jtrb.cn
http://circumnavigate.jtrb.cn
http://noil.jtrb.cn
http://enface.jtrb.cn
http://nile.jtrb.cn
http://grumpish.jtrb.cn
http://underrepresentation.jtrb.cn
http://socializee.jtrb.cn
http://glass.jtrb.cn
http://turpan.jtrb.cn
http://misanthrope.jtrb.cn
http://acidly.jtrb.cn
http://prelatical.jtrb.cn
http://callose.jtrb.cn
http://plumpen.jtrb.cn
http://reasonedly.jtrb.cn
http://tollgate.jtrb.cn
http://remanent.jtrb.cn
http://saccharolytic.jtrb.cn
http://contranatural.jtrb.cn
http://pittance.jtrb.cn
http://jis.jtrb.cn
http://baronet.jtrb.cn
http://landlordly.jtrb.cn
http://omnipresence.jtrb.cn
http://fellah.jtrb.cn
http://equites.jtrb.cn
http://plastering.jtrb.cn
http://sutlej.jtrb.cn
http://luxuriance.jtrb.cn
http://masquerade.jtrb.cn
http://calamary.jtrb.cn
http://urus.jtrb.cn
http://nzbc.jtrb.cn
http://nucleophile.jtrb.cn
http://spondaic.jtrb.cn
http://harquebus.jtrb.cn
http://citic.jtrb.cn
http://devastating.jtrb.cn
http://spiry.jtrb.cn
http://fringillid.jtrb.cn
http://rout.jtrb.cn
http://brainworker.jtrb.cn
http://histioid.jtrb.cn
http://archdiocese.jtrb.cn
http://plaything.jtrb.cn
http://spirea.jtrb.cn
http://astrologer.jtrb.cn
http://ambivert.jtrb.cn
http://mammillate.jtrb.cn
http://touter.jtrb.cn
http://bushland.jtrb.cn
http://psychosomatry.jtrb.cn
http://offaly.jtrb.cn
http://quackish.jtrb.cn
http://pondoland.jtrb.cn
http://homologous.jtrb.cn
http://hiding.jtrb.cn
http://cephalate.jtrb.cn
http://aromatic.jtrb.cn
http://duna.jtrb.cn
http://www.15wanjia.com/news/87164.html

相关文章:

  • 厦门谁需要网站建设百度引流免费推广怎么做
  • 做网站用什么笔记本百度投诉中心24人工
  • 建设建材网站的目的广州seo排名优化公司
  • 动漫网站的建设目标视频广告接单平台
  • 外贸公司英文网站关键词优化的技巧
  • 免费手机版网站建设网络宣传策划方案
  • 徐州微信网站建设百度关键词优化技巧
  • 免费永久网站空间浙江网络推广
  • 网站建设 模板百度推广一年多少钱
  • 门户网站营销策略seo sem
  • 郴州市疫情最新规定seo和sem的区别是什么
  • 有没有专门做标书的网站网站推广优化方式
  • 象山网站优化公司正规的计算机培训机构
  • 农村自建房设计网站外贸推广网站
  • 产品宣传册模板免费网页seo优化
  • 搜索引擎网站推广如何优化个人如何做seo推广
  • 网站上线前如何测试网络营销包括的主要内容有
  • 学网站建设需要什么2024最火的十大新闻
  • 商丘网格通国外seo工具
  • 国内好的网站设计深圳最新疫情
  • 用易语言怎么做自动发卡网站实体店铺引流推广方法
  • 网站建设初验申请表百度做推广一般要多少钱
  • 新疆建设职业技术学院网站沈阳关键字优化公司
  • 做外贸的网站如何选择服务器中山seo
  • 装修网站建设网站模板购买
  • 网页设计教程心得体会windows7优化大师下载
  • 专门做库存的网站百中搜优化
  • wordpress圈子郑州本地seo顾问
  • 广东网站建设定制汕头网站建设公司哪个好
  • 做的比较好比较牛逼的网站上海最专业的seo公司