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

做公司网站需要多长时间网络推广搜索引擎

做公司网站需要多长时间,网络推广搜索引擎,长沙做网站美工的公司,济宁市建设工程招投标网站力扣爆刷第142天之二叉树五连刷(构造树、搜索树) 文章目录 力扣爆刷第142天之二叉树五连刷(构造树、搜索树)一、106. 从中序与后序遍历序列构造二叉树二、654. 最大二叉树三、617. 合并二叉树四、700. 二叉搜索树中的搜索五、98. …

力扣爆刷第142天之二叉树五连刷(构造树、搜索树)

文章目录

      • 力扣爆刷第142天之二叉树五连刷(构造树、搜索树)
      • 一、106. 从中序与后序遍历序列构造二叉树
      • 二、654. 最大二叉树
      • 三、617. 合并二叉树
      • 四、700. 二叉搜索树中的搜索
      • 五、98. 验证二叉搜索树

一、106. 从中序与后序遍历序列构造二叉树

题目链接:https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/description/
思路:首先把中序遍历的key和value用map记录下来,节省通过后序定位根节点的时间,然后不断的用父节点划分左右子数组。

class Solution {Map<Integer, Integer> map = new HashMap<>();public TreeNode buildTree(int[] inorder, int[] postorder) {for(int i = 0; i < inorder.length; i++) {map.put(inorder[i], i);}return traverse(inorder, postorder, 0, inorder.length-1, 0, postorder.length-1);}TreeNode traverse(int[] inorder, int[] postorder, int leftIn, int rightIn, int leftPo, int rightPo) {if(leftIn > rightIn) return null;int mid = map.get(postorder[rightPo]);TreeNode root = new TreeNode(postorder[rightPo]);root.left = traverse(inorder, postorder, leftIn, mid-1, leftPo, leftPo+mid-leftIn-1);root.right = traverse(inorder, postorder, mid+1, rightIn, leftPo+mid-leftIn, rightPo-1);return root;}}

二、654. 最大二叉树

题目链接:https://leetcode.cn/problems/maximum-binary-tree/description/
思路:也是前序遍历构建二叉树,在每一次指定区间的内,通过比较获取最大值,然后通过最大值划分左右子数组。

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

三、617. 合并二叉树

题目链接:https://leetcode.cn/problems/merge-two-binary-trees/description/
思路:合并二叉树,其实就是遍历其中一棵树,然后把另外一颗树连接到这棵树上。

class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if(root1 == null && root2 == null) {return null;}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;}}

四、700. 二叉搜索树中的搜索

题目链接:https://leetcode.cn/problems/search-in-a-binary-search-tree/description/
思路:利用二叉搜索树的特性,从上往下进行搜索,相等返回,小于去左子树,大于去右子树。

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

五、98. 验证二叉搜索树

题目链接:https://leetcode.cn/problems/validate-binary-search-tree/description/
思路:要想验证是不是二叉搜索树,直接利用二叉搜索树的特性,中序单调遍历递增,只要非单调递增即不是。

class Solution {boolean flag = true;TreeNode p = null;public boolean isValidBST(TreeNode root) {traverse(root);return flag;}void traverse(TreeNode root) {if(root == null) return ;traverse(root.left);if(p != null) {if(p.val >= root.val) {flag = false;return ;}}p = root;traverse(root.right);}
}
http://www.ds6.com.cn/news/28245.html

相关文章:

  • 越秀区建网站的公司关键词排名 收录 查询
  • 网站销售系统怎么做站长工具黄
  • 网站表单网站制作公司怎么找
  • 行业网站建设公司网站推广优化价格
  • 50000免费短视频素材广州网站优化排名
  • 大型网站制作设计百度搜索引擎投放
  • 淘宝上做淘宝客的网站淘宝seo优化怎么做
  • 深圳营销型网站公司电话如何推广宣传一个品牌
  • 单品电商网站建设优化品牌seo关键词
  • 论坛网站开发教程线上推广如何引流
  • 网络科技有限公司简介百度排名优化软件
  • 建设网站的能力磁力神器
  • 租用微信做拍卖网站seo常用工具包括
  • lamp 做网站100个电商平台
  • 自己做网站 需要哪些域名收录查询
  • 网站开发费用国家标准百度指数里的资讯指数是什么
  • 岭南地区网站建设自媒体135网站
  • wordpress "归档文章"无锡seo排名收费
  • 桂林东西巷介绍引擎优化seo怎么做
  • 东莞网站设计的公司上海网站营销seo方案
  • 免费网站排名优化软件新浪新闻疫情
  • 小企业一键做网站一个完整的产品运营方案
  • 七台河新闻在线直播seo的中文意思
  • 企业销售网站阐述网络营销策略的内容
  • 网站主机免费以品牌推广为目的的广告网络平台
  • 网站开发drupal销售平台软件有哪些
  • 网站页面做海报用什么软件谷歌竞价排名推广公司
  • 北京环评在那个网站上做软文一般发布在哪些平台
  • 家做网站青岛关键词优化报价
  • 怎么优化网站排名具体怎么做建网站用什么软件