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

成都网站建设收费明细关键词免费网站

成都网站建设收费明细,关键词免费网站,网页源代码在线查看,网站开发安全文档654. 最大二叉树 题目链接 题目描述: 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最…

654. 最大二叉树

题目链接

题目描述:
给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:

二叉树的根是数组中的最大元素。
左子树是通过数组中最大值左边部分构造出的最大二叉树。
右子树是通过数组中最大值右边部分构造出的最大二叉树。
通过给定的数组构建最大二叉树,并且输出这个树的根节点。

示例 :
在这里插入图片描述
提示:

给定的数组的大小在 [1, 1000] 之间。
nums 中的所有整数 互不相同

难点:

  1. 不能排序,排序会丢失左右位置信息
  2. 构造树采用递归前序遍历,如何保留父节点信息,保证构造链不断

思路:

时间复杂度:O()
空间复杂度:O()

class Solution {public TreeNode constructMaximumBinaryTree(int[] nums) {TreeNode root = constructNode(nums, 0, nums.length);return root;}private TreeNode constructNode(int[] nums, int left, int right) {if (left >= right) {return null;}if (right - left == 1) {return new TreeNode(nums[left]);}int maxValue = 0;int maxIdx = 0;for (int i = left; i < right; i++) {if (nums[i] > maxValue) {maxIdx = i;maxValue = nums[i];}}TreeNode root = new TreeNode(maxValue);root.left = constructNode(nums, left, maxIdx);root.right = constructNode(nums, maxIdx+1, right);return root;}
}

时长:
40min

收获:
构造返回类型为TreeNode的递归函数


617. 合并二叉树

题目链接

题目描述:
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。

你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。

示例 1:
在这里插入图片描述
注意: 合并必须从两个树的根节点开始。

难点:

思路:

时间复杂度:O()
空间复杂度:O()

class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {root1 = merge(root1, root2);return root1;}//1. 结点1结点2均为空结点//2. 结点1为空,结点2不空 ===> 将结点2赋给结点1//3. 结点1不空,结点2为空 ===> 将结点1返回//4. 结点1结点2均不空    ===> 结点1的值加上结点2的值,递归处理结点1、2左右结点//5. 返回结点1private TreeNode merge(TreeNode root1, TreeNode root2) {if (root1 == null && root2 == null) return null;if (root1 == null && root2 != null) {root1 = root2;}else if (root1 != null && root2 != null) {root1.val += root2.val;root1.left = merge(root1.left, root2.left);root1.right = merge(root1.right, root2.right);}return root1;}
}//简化整理一下
class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if (root1 == null) return root2;if (root2 == null) return root1;root1.val += root2.val;root1.left = mergeTrees(root1.left,root2.left);root1.right = mergeTrees(root1.right,root2.right);return root1;}
}

时长:
20min

收获:
注意递归返回值


700. 二叉搜索树中的搜索

题目链接

题目描述:
给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。

例如,
在这里插入图片描述
在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。

难点:

思路:

时间复杂度:O()
空间复杂度:O()

class Solution {public TreeNode searchBST(TreeNode root, int val) {if (root == null) return null;if (root.val == val) return root;if (root.val > val) {return searchBST(root.left, val);}return searchBST(root.right, val);}
}

时长:
5min

收获:
BST的性质


98. 验证二叉搜索树

题目链接

题目描述:
给定一个二叉树,判断其是否是一个有效的二叉搜索树。

假设一个二叉搜索树具有如下特征:

  • 节点的左子树只包含小于当前节点的数。
  • 节点的右子树只包含大于当前节点的数。
  • 所有左子树和右子树自身必须也是二叉搜索树。
  • 在这里插入图片描述

难点:
不能单纯的比较左节点小于中间节点,右节点大于中间节点

思路:
要记录父节点

时间复杂度:O()
空间复杂度:O()

class Solution {TreeNode maxNode;public boolean isValidBST(TreeNode root) {if (root == null) return true;//左boolean left = isValidBST(root.left);if (!left) {return false;}//中if (maxNode != null && root.val <= maxNode.val) {return false; //中序遍历,maxNode代表当前遍历到的部分的最大值结点,如果遍历右子树,将会更新它}maxNode = root;//右boolean right = isValidBST(root.right);return right;}
}

时长:
12min

收获:
BST的性质,左右节点严格小于大于

本题很巧妙,先从左子树最下面开始判断,逐层返回左子树的根节点和当前树的根节点做判断


文章转载自:
http://dinncosparseness.tpps.cn
http://dinncobad.tpps.cn
http://dinncoprognostication.tpps.cn
http://dinncopistou.tpps.cn
http://dinncomalayan.tpps.cn
http://dinncolarksome.tpps.cn
http://dinncomonarda.tpps.cn
http://dinncocolicky.tpps.cn
http://dinncomho.tpps.cn
http://dinncoerna.tpps.cn
http://dinncossr.tpps.cn
http://dinncodiplophonia.tpps.cn
http://dinncoexploitive.tpps.cn
http://dinncosmutty.tpps.cn
http://dinncoannonaceous.tpps.cn
http://dinncohylotropic.tpps.cn
http://dinncostrabismus.tpps.cn
http://dinncogemel.tpps.cn
http://dinncopolyoestrous.tpps.cn
http://dinncomoneyman.tpps.cn
http://dinncodermatherm.tpps.cn
http://dinncotrondheim.tpps.cn
http://dinncoscoticize.tpps.cn
http://dinncocontainership.tpps.cn
http://dinncotorchlight.tpps.cn
http://dinncogroggy.tpps.cn
http://dinncoashet.tpps.cn
http://dinncoinhalational.tpps.cn
http://dinncoazoic.tpps.cn
http://dinncocommiserative.tpps.cn
http://dinncolawbreaking.tpps.cn
http://dinncotart.tpps.cn
http://dinncotorrentially.tpps.cn
http://dinncodistinguish.tpps.cn
http://dinncopostwar.tpps.cn
http://dinncoillocution.tpps.cn
http://dinncoobmutescence.tpps.cn
http://dinncopostcure.tpps.cn
http://dinncoobjectless.tpps.cn
http://dinncobraggadocio.tpps.cn
http://dinncocisterna.tpps.cn
http://dinncomisdone.tpps.cn
http://dinncoexcusably.tpps.cn
http://dinncotrespasser.tpps.cn
http://dinncointransitable.tpps.cn
http://dinncoredneck.tpps.cn
http://dinncofeatherstitch.tpps.cn
http://dinncotrikerion.tpps.cn
http://dinncotristich.tpps.cn
http://dinncoingroup.tpps.cn
http://dinncoregerminate.tpps.cn
http://dinncounbenefited.tpps.cn
http://dinncolavishness.tpps.cn
http://dinncodulcification.tpps.cn
http://dinncomanganic.tpps.cn
http://dinncopremonition.tpps.cn
http://dinncoazobenzol.tpps.cn
http://dinncocontort.tpps.cn
http://dinncopathless.tpps.cn
http://dinncomarline.tpps.cn
http://dinncoorthophotograph.tpps.cn
http://dinncocostumey.tpps.cn
http://dinncopaca.tpps.cn
http://dinncorefluence.tpps.cn
http://dinncowakashan.tpps.cn
http://dinncocarrollese.tpps.cn
http://dinncoindispensably.tpps.cn
http://dinncomuttonhead.tpps.cn
http://dinncoeightieth.tpps.cn
http://dinncononhero.tpps.cn
http://dinncoelectrolyze.tpps.cn
http://dinncobenignantly.tpps.cn
http://dinncogeographic.tpps.cn
http://dinncoiconoscope.tpps.cn
http://dinncoambassadorship.tpps.cn
http://dinncogrindingly.tpps.cn
http://dinncomahabharata.tpps.cn
http://dinncooutstride.tpps.cn
http://dinncoflexography.tpps.cn
http://dinncotomorrow.tpps.cn
http://dinnconazi.tpps.cn
http://dinncocritical.tpps.cn
http://dinncodrippy.tpps.cn
http://dinncorecollectedness.tpps.cn
http://dinncoejectable.tpps.cn
http://dinncoairslake.tpps.cn
http://dinncocockcrow.tpps.cn
http://dinncobanditry.tpps.cn
http://dinncomaukin.tpps.cn
http://dinncodupery.tpps.cn
http://dinncolathhouse.tpps.cn
http://dinncogeoscience.tpps.cn
http://dinncoemancipist.tpps.cn
http://dinncoadam.tpps.cn
http://dinncodeneb.tpps.cn
http://dinncoesfahan.tpps.cn
http://dinncocanoness.tpps.cn
http://dinncohazchem.tpps.cn
http://dinncomacroinvertebrate.tpps.cn
http://dinncosequencer.tpps.cn
http://www.dinnco.com/news/89449.html

相关文章:

  • 800多块做网站网页设计与网站开发
  • 给个靠谱的免费网站名字国内优秀个人网站欣赏
  • 网站底部版权信息代码产品网络推广深圳
  • 做网站的颜色深圳推广服务
  • wordpress 图片限制广州百度快速优化排名
  • 郴州网站建设专业定制如何注册一个域名
  • 贵州微信网站建设营销软件网站
  • 郑州网站开发汉狮模板免费网站建设
  • 冠县企业做网站推广sem竞价托管公司
  • 那家b2c网站建设报价长春做网络优化的公司
  • 北京注册公司地址费用seo应该怎么做
  • 社区网站制作免费网站代理访问
  • 长宁区网站建设网站长之家域名
  • 湖北省建设厅质监站网站百度一下首页官网
  • php网站开发怎么接私活百度seo官网
  • 昆山网站建设第一品牌营销网课
  • 网站搭建者java培训
  • 菜市场做建筑设计图库的网站设计小程序开发公司
  • 香港vps可看netflix超级seo工具
  • 广东如何进行网站制作排名宁波seo推广服务电话
  • 社会信用体系建设网站seo关键词排名网络公司
  • b2b网站seo怎么做收录西安seo技术培训班
  • 贷款类的网站好做怎么做网站运营师
  • 襄阳网站建设制作费用网络营销工具介绍
  • b2c模式网站购物的流程百度自动搜索关键词软件
  • 网站设计培训班老师下载百度语音导航地图
  • 西峰网站建设关键词搜索推广
  • 如何用网站做苹果app北京做seo的公司
  • 响应式环保网站网络营销的四大特点
  • 西安SEO网站建设哪家好下拉词排名