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

asp 大型网站开发宁波专业网站建设怎么做

asp 大型网站开发,宁波专业网站建设怎么做,代理记账公司排名大全,营销型网站建设的5大技巧力扣爆刷第91天之hot100五连刷41-45 文章目录 力扣爆刷第91天之hot100五连刷41-45一、102. 二叉树的层序遍历二、108. 将有序数组转换为二叉搜索树三、98. 验证二叉搜索树四、230. 二叉搜索树中第K小的元素五、199. 二叉树的右视图 一、102. 二叉树的层序遍历 题目链接&#x…

力扣爆刷第91天之hot100五连刷41-45

文章目录

      • 力扣爆刷第91天之hot100五连刷41-45
      • 一、102. 二叉树的层序遍历
      • 二、108. 将有序数组转换为二叉搜索树
      • 三、98. 验证二叉搜索树
      • 四、230. 二叉搜索树中第K小的元素
      • 五、199. 二叉树的右视图

一、102. 二叉树的层序遍历

题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/description/?envType=study-plan-v2&envId=top-100-liked
思路:层序遍历是典型题目,使用队列,然后将队列的size作为每一层的元素个数。

class Solution {List<List<Integer>> arrayList = new ArrayList<>();public List<List<Integer>> levelOrder(TreeNode root) {if(root == null) return arrayList;Deque<TreeNode> queue = new LinkedList<>();queue.add(root);while(!queue.isEmpty()) {int len = queue.size();List<Integer> list = new ArrayList<>();for(int i = 0; i < len; i++) {TreeNode t = queue.poll();list.add(t.val);if(t.left != null) queue.add(t.left);if(t.right != null) queue.add(t.right);}arrayList.add(list);}return arrayList;}
}

二、108. 将有序数组转换为二叉搜索树

题目链接:https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/?envType=study-plan-v2&envId=top-100-liked
思路:要将有序数组转换成二叉搜索树,直接使用二分法遍历数组,在此过程中创建二叉树即可。

class Solution {public TreeNode sortedArrayToBST(int[] nums) {return bst(nums, 0, nums.length-1);}TreeNode bst(int[] nums, int left, int right) {if(left > right) return null;int mid = left + (right-left)/2;TreeNode root = new TreeNode(nums[mid]);root.left = bst(nums, left, mid-1);root.right = bst(nums, mid+1, right);return root;}
}

三、98. 验证二叉搜索树

题目链接:https://leetcode.cn/problems/validate-binary-search-tree/description/?envType=study-plan-v2&envId=top-100-liked
思路:验证二搜索树,应该使用前序遍历,然后向下遍历的过程中要携带父节点的信息。

class Solution {public boolean isValidBST(TreeNode root) {return isTrue(root, null, null);}boolean isTrue(TreeNode root, TreeNode min, TreeNode max) {if(root == null) return true;if(min != null && root.val <= min.val) return false;if(max != null && root.val >= max.val) return false;return isTrue(root.left, min, root) && isTrue(root.right, root, max); }
}

四、230. 二叉搜索树中第K小的元素

题目链接:https://leetcode.cn/problems/kth-smallest-element-in-a-bst/description/?envType=study-plan-v2&envId=top-100-liked
思路:求第k小的元素要利用二叉搜索树的特性,中序遍历后便是递增序列,所以中序遍历计数即可。

class Solution {int v = 0, i = 0;public int kthSmallest(TreeNode root, int k) {reverse(root, k);return v;}void reverse(TreeNode root, int k) {if(root == null) return ;reverse(root.left, k);i++;if(i == k) {v = root.val;}reverse(root.right, k);}
}

五、199. 二叉树的右视图

题目链接:https://leetcode.cn/problems/binary-tree-right-side-view/description/?envType=study-plan-v2&envId=top-100-liked
思路:求自上而下的右视图,很简单,采用前序遍历的方法,但是先遍历右子树再遍历左子树,然后用一个全局变量记录深度,每次深度增加才会记录元素。

class Solution {List<Integer> list = new ArrayList<>();int deep = 0;public List<Integer> rightSideView(TreeNode root) {reverse(root, 1);return list;}void reverse(TreeNode root, int i) {if(root == null) return ;if(i > deep) {deep = i;list.add(root.val);}reverse(root.right, i+1);reverse(root.left, i+1);}}
http://www.15wanjia.com/news/190938.html

相关文章:

  • 申请了域名怎么建网站什么网站可以做推广
  • 中山百度网站排名网站建设拿什么框架
  • 1688网站店招怎么做wordpress批量发文章
  • 网站定制公司报价陕西公司网站建设
  • 永康网站建设的公司室内设计公司有哪些
  • 营销型网站建设公司比较专业网站建设外包公司容易被客户投诉吗
  • wp建站系统云服务器一般多少钱
  • 电商网站运营团队建设方案模板许昌市住房和城乡建设局门户网站
  • 网站拍照的幕布杭州手机建站模板
  • 17做网店网站自己做的网站为什么访问不
  • 网站优化宝wordpress 帮助模板
  • php网站开发视频教程看视频的app有哪些
  • 嘉兴城乡建设网站wordpress旋转
  • 在线手机动画网站模板低代码开发软件
  • 网站建设开发银川网站制作公司
  • 常熟市建设局网站嵌入式网站开发学习
  • 汶上做网站seo做的好的网站
  • 事业网站网站建设方案广西贵港建设集团有限公司网站
  • 南昌营销网站建设公司制作个网站
  • 京津冀协同发展9周年百度seo排名优化是什么
  • 合肥建筑网站永久二级域名分发平台
  • 经营范围网站开发运营小型企业网站有哪些
  • 网站集群建设是网站用什么域名
  • 公司网站是不是每天要更新wordpress游戏插件
  • 黑马网站建设网站设计企业门户模板
  • 政务信息网站建设工作方案wordpress修改生效
  • 卧龙区网站建设哪家好一分钟做网站
  • 购物商城网站模板支持wordpress主机
  • cp网站开发是什么做网站 会计分录
  • 网站想换个风格怎么做室内设计培训网课