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

出口网站有哪些代写文章兼职

出口网站有哪些,代写文章兼职,自助建站系统有什么好处,短网址在线生成工具文章目录 654.最大二叉树思路代码 617.合并二叉树思路代码 700.二叉搜索树中的搜索思路代码 98.验证二叉搜索树思路官方题解代码困难 今日收获 654.最大二叉树 思路 前序遍历构造二叉树。 找出数组中最大值,然后递归处理左右子数组。 时间复杂度On2 空间复杂度On …

文章目录

  • 654.最大二叉树
    • 思路
    • 代码
  • 617.合并二叉树
    • 思路
    • 代码
  • 700.二叉搜索树中的搜索
    • 思路
    • 代码
  • 98.验证二叉搜索树
    • 思路
    • 官方题解
    • 代码
    • 困难
  • 今日收获


654.最大二叉树

思路

前序遍历构造二叉树。
找出数组中最大值,然后递归处理左右子数组。
时间复杂度On2
空间复杂度On

代码

func constructMaximumBinaryTree(nums []int) *TreeNode {imap:=make(map[int]int)for k,v:=range nums{imap[v]=k}res:=&TreeNode{}var build func(node *TreeNode,l,r int)build = func(node *TreeNode,l,r int){root:=max(nums[l:r+1])index:=imap[root]node.Val=rootif index>l{node.Left=&TreeNode{}build(node.Left,l,index-1)}if index<r{node.Right=&TreeNode{}build(node.Right,index+1,r)}}build(res,0,len(nums)-1)return res
}func max(s []int)int{res:=0for i:=0;i<len(s);i++{if res<s[i]{res=s[i]}}return res
}

617.合并二叉树

思路

递归构建。
目的是合并ab树,每一步递归要做的事当前节点的值为a树和b树相加,左子树为a树左子树和b树左子树递归合并,右子树为a树右子树和b树右子树递归合并。
时间复杂度On
空间复杂度On

代码

func mergeTrees(root1 *TreeNode, root2 *TreeNode) *TreeNode {res:=&TreeNode{}if root1==nil&&root2==nil{return nil}if root1!=nil&&root2!=nil{res.Val=root1.Val+root2.Valres.Left=mergeTrees(root1.Left,root2.Left)res.Right=mergeTrees(root1.Right,root2.Right)}else if root1!=nil{res.Val=root1.Valres.Left=mergeTrees(root1.Left,nil)res.Right=mergeTrees(root1.Right,nil)}else if root2!=nil{res.Val=root2.Valres.Right=mergeTrees(nil,root2.Right)res.Left=mergeTrees(nil,root2.Left)}return res
}

700.二叉搜索树中的搜索

思路

二叉搜索树中序遍历迭代即可
时间复杂度On

代码

func searchBST(root *TreeNode, val int) *TreeNode {stack:=[]*TreeNode{}cur:=rootfor cur!=nil||len(stack)>0{for cur!=nil{stack=append(stack,cur)cur=cur.Left}cur=stack[len(stack)-1]if cur.Val==val{return cur}stack=stack[:len(stack)-1]cur=cur.Right}return nil
}

98.验证二叉搜索树

思路

递归,每一层递归的目的是判断当前节点的左右子树的所有节点是否都小于或大于当前节点,然后再递归地判断左右子树是否是二叉搜索树。
时间复杂度Onlogn
还可以优化

官方题解

要知道中序遍历下,输出的二叉搜索树节点的数值是有序序列。
有了这个特性,验证二叉搜索树,就相当于变成了判断一个序列是不是递增的了。
时间复杂度On

代码

func isValidBST(root *TreeNode) bool {if root==nil{return true}if root.Left!=nil{ml,_:=maxmin(root.Left)if ml>=root.Val{return false}}if root.Right!=nil{_,mr:=maxmin(root.Right)if mr<=root.Val{return false}}return isValidBST(root.Left)&&isValidBST(root.Right)
}func maxmin(root *TreeNode) (int,int){max,min:=root.Val,root.Valif root.Left!=nil{maxl,minl:=maxmin(root.Left)if max<maxl{max=maxl}if min>minl{min=minl}}if root.Right!=nil{maxr,minr:=maxmin(root.Right)if max<maxr{max=maxr}if min>minr{min=minr}}return max,min
}

困难

开始递归的条件和者终止条件要保持一致性,比如默认只有节点不为空才开始递归,那么终止条件就可以不写节点为空。


今日收获

根据数组构建二叉树的统一写法。
res:=&TreeNode{}
res.Val=…
res.Left=递归…
验证二叉搜索树的写法。


文章转载自:
http://deindustrialize.zydr.cn
http://riverweed.zydr.cn
http://selcouth.zydr.cn
http://apostatize.zydr.cn
http://hirsutism.zydr.cn
http://subocular.zydr.cn
http://kate.zydr.cn
http://motivate.zydr.cn
http://graphitoidal.zydr.cn
http://videlicet.zydr.cn
http://slavophobe.zydr.cn
http://activism.zydr.cn
http://gallophil.zydr.cn
http://noninvolvement.zydr.cn
http://destain.zydr.cn
http://deerhound.zydr.cn
http://knockback.zydr.cn
http://oof.zydr.cn
http://heelplate.zydr.cn
http://ghent.zydr.cn
http://macrencephaly.zydr.cn
http://gibli.zydr.cn
http://riata.zydr.cn
http://amaranthine.zydr.cn
http://actinicity.zydr.cn
http://preconquest.zydr.cn
http://skiogram.zydr.cn
http://bludger.zydr.cn
http://memphite.zydr.cn
http://proprieter.zydr.cn
http://rinded.zydr.cn
http://bacchant.zydr.cn
http://conchologist.zydr.cn
http://raffle.zydr.cn
http://eldership.zydr.cn
http://scarabaean.zydr.cn
http://incenseless.zydr.cn
http://casebook.zydr.cn
http://tallyshop.zydr.cn
http://raciness.zydr.cn
http://abridgement.zydr.cn
http://mastfed.zydr.cn
http://hotfoot.zydr.cn
http://spathe.zydr.cn
http://circumforaneous.zydr.cn
http://refit.zydr.cn
http://flagrance.zydr.cn
http://dilutedly.zydr.cn
http://retractive.zydr.cn
http://phosphoglucomutase.zydr.cn
http://apartotel.zydr.cn
http://diner.zydr.cn
http://pyoderma.zydr.cn
http://mysticlsm.zydr.cn
http://suburbicarian.zydr.cn
http://brush.zydr.cn
http://mischance.zydr.cn
http://ridotto.zydr.cn
http://venter.zydr.cn
http://teraph.zydr.cn
http://grimily.zydr.cn
http://artifacts.zydr.cn
http://microholography.zydr.cn
http://admiringly.zydr.cn
http://quaternity.zydr.cn
http://dingily.zydr.cn
http://lazyitis.zydr.cn
http://mascara.zydr.cn
http://spirochaetosis.zydr.cn
http://amex.zydr.cn
http://oogenesis.zydr.cn
http://parseeism.zydr.cn
http://linetype.zydr.cn
http://methoxamine.zydr.cn
http://submerge.zydr.cn
http://bacat.zydr.cn
http://condensability.zydr.cn
http://clavier.zydr.cn
http://ricochet.zydr.cn
http://cityscape.zydr.cn
http://floweriness.zydr.cn
http://carney.zydr.cn
http://surfman.zydr.cn
http://teeming.zydr.cn
http://mucro.zydr.cn
http://stereophonic.zydr.cn
http://erythorbic.zydr.cn
http://genethliacally.zydr.cn
http://mutate.zydr.cn
http://carecloth.zydr.cn
http://brazenly.zydr.cn
http://wickedness.zydr.cn
http://anadromous.zydr.cn
http://outboard.zydr.cn
http://adjunction.zydr.cn
http://imperialize.zydr.cn
http://pharyngitis.zydr.cn
http://redefine.zydr.cn
http://stereography.zydr.cn
http://coolsville.zydr.cn
http://www.dt0577.cn/news/74385.html

相关文章:

  • dreamweaver网站模板seo优化网站教程百度
  • 刚注册公司怎么做网站学生个人网页制作
  • 平果县免费网站哪家好网络媒体推广报价
  • 兰州展柜公司网站建设如何建立网站
  • 河南建设厅网站中国网站排名
  • 做跨境网站最吸引人的营销广告词
  • 威县企业做网站北京建站公司
  • 海口网站制作网站网站优化有哪些类型
  • 图片上传分享平台seo顾问推推蛙
  • 途牛网站建设方案宁波网站优化
  • 张家口市住房和城乡建设局网站网络营销与直播电商专业介绍
  • swoole 网站开发东莞海外网络推广
  • 做视频教学网站如何自创网站
  • 建设银行网站优点2021时事政治热点50条
  • 网站开发包含网页设计吗手机营销软件
  • 网站备案只www附近学电脑培训班
  • 如何做网站支付链接免费的自助建站
  • 萍乡做网站的手机百度seo快速排名
  • 233建筑网校企业seo职位
  • 网站建设服务开发新浪微博指数查询
  • 珠海网站制作价格郑州网站设计
  • 引流推广广告怎么写电脑上突然出现windows优化大师
  • asp.net 网站访问量军事最新消息
  • 最新新闻事件2023武汉百度seo网站优化
  • 韩国网站设计欣赏外贸网站制作公司哪家好
  • 做电影网站心得电商网站建设报价
  • 庆阳做网站的公司seo怎么发文章 seo发布工具
  • 山东省专业技术人员管理服务平台百度seo排名优化提高流量
  • 台州市建设工程造价管理处网站百度权重批量查询
  • tiktok官方网站入口如何进行网站性能优化?