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

网站配色与布局类似卡盟网站卖怎么做

网站配色与布局,类似卡盟网站卖怎么做,网页设计代码的基本格式,Wordpress屏蔽国内iip目录 解法#xff1a; 官方解法#xff1a; 方法一#xff1a;广度优先搜索 思路及算法 复杂度分析 时间复杂度#xff1a; 空间复杂度#xff1a; 方法二#xff1a;递归 思路及算法 复杂度分析 时间复杂度#xff1a; 空间复杂度#xff1a; 给你二叉树的…目录 解法 官方解法 方法一广度优先搜索 思路及算法 复杂度分析 时间复杂度 空间复杂度 方法二递归 思路及算法 复杂度分析 时间复杂度 空间复杂度 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径这条路径上所有节点值相加等于目标和 targetSum 。如果存在返回 true 否则返回 false 。 叶子节点 是指没有子节点的节点。 示例 1 输入root [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum 22 输出true 解释等于目标和的根节点到叶节点路径如上图所示。示例 2 输入root [1,2,3], targetSum 5 输出false 解释树中存在两条根节点到叶子节点的路径 (1 -- 2): 和为 3 (1 -- 3): 和为 4 不存在 sum 5 的根节点到叶子节点的路径。 示例 3 输入root [], targetSum 0 输出false 解释由于树是空的所以不存在根节点到叶子节点的路径。提示 树中节点的数目在范围 [0, 5000] 内-1000 Node.val 1000-1000 targetSum 1000 解法 同样使用深度优先遍历的方法将每个叶子节点的路径值相加起来。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val val;* this.left left;* this.right right;* }* }*/ class Solution {public boolean hasPathSum(TreeNode root, int targetSum) {int[] judge {0};hasNextNode(root, targetSum, 0, judge);return judge[0] 1;}public void hasNextNode(TreeNode root, int targetSum, int rNum, int[] judge) {if (root null) {return;}//将当前节点的值与上一节点的值添加起来rNum root.val;//1.遍历左边hasNextNode(root.left, targetSum, rNum, judge);//2.遍历右边hasNextNode(root.right, targetSum, rNum, judge);//当遍历到叶子节点时判断是否符合targetSumif (root.left null root.right null) {//判断是否符合targetSumif (rNum targetSum) {judge[0] 1;}}} } 官方解法 方法一广度优先搜索 思路及算法 首先我们可以想到使用广度优先搜索的方式记录从根节点到当前节点的路径和以防止重复计算。 这样我们使用两个队列分别存储将要遍历的节点以及根节点到这些节点的路径和即可。 class Solution {public boolean hasPathSum(TreeNode root, int sum) {if (root null) {return false;}QueueTreeNode queNode new LinkedListTreeNode();QueueInteger queVal new LinkedListInteger();queNode.offer(root);queVal.offer(root.val);while (!queNode.isEmpty()) {TreeNode now queNode.poll();int temp queVal.poll();if (now.left null now.right null) {if (temp sum) {return true;}continue;}if (now.left ! null) {queNode.offer(now.left);queVal.offer(now.left.val temp);}if (now.right ! null) {queNode.offer(now.right);queVal.offer(now.right.val temp);}}return false;} } 复杂度分析 时间复杂度 O(N)其中 N 是树的节点数。对每个节点访问一次。 空间复杂度 O(N)其中 N 是树的节点数。空间复杂度主要取决于队列的开销队列中的元素个数不会超过树的节点数。 方法二递归 思路及算法 观察要求我们完成的函数我们可以归纳出它的功能询问是否存在从当前节点 root 到叶子节点的路径满足其路径和为 sum。 假定从根节点到当前节点的值之和为 val我们可以将这个大问题转化为一个小问题是否存在从当前节点的子节点到叶子的路径满足其路径和为 sum - val。 不难发现这满足递归的性质若当前节点就是叶子节点那么我们直接判断 sum 是否等于 val 即可因为路径和已经确定就是当前节点的值我们只需要判断该路径和是否满足条件。若当前节点不是叶子节点我们只需要递归地询问它的子节点是否能满足条件即可。 class Solution {public boolean hasPathSum(TreeNode root, int sum) {if (root null) {return false;}if (root.left null root.right null) {return sum root.val;}return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val);} } 复杂度分析 时间复杂度 O(N)其中 N 是树的节点数。对每个节点访问一次。 空间复杂度 O(H)其中 H 是树的高度。空间复杂度主要取决于递归时栈空间的开销最坏情况下树呈现链状空间复杂度为 O(N)。平均情况下树的高度与节点数的对数正相关空间复杂度为 O(log⁡N)。 官方解法部分 作者力扣官方题解链接https://leetcode.cn/problems/path-sum/ 来源力扣LeetCode
http://www.yutouwan.com/news/236610/

相关文章:

  • 网站建设论文3000vue网站开发实例
  • 博客网站模板有哪些网站优化 价格
  • 网站建设及推广好学习吗知名商业网站有哪些
  • 网站是每年都要付费吗网上商城系统流程图
  • 深圳网站建设软件开发做请帖的网站
  • 深圳罗湖做网站的公司哪家好网站怎么建站点
  • 做网站的内容样本公众号里原文单发到dede网站上
  • 一个网站的开发周期布布网 wordpress
  • 信息公司网站建设方案+游戏婚礼顾问网站介绍模版
  • 网站做用户记录表怎么建设网站网页
  • 海外营销网站建设网站开发怎么收客户费
  • 网站建设 昆明深圳网站设计工资一般多少
  • 银川做网站最好的公司有哪些hr系统管理软件排名
  • 郑州专业网站制作wordpress主题 flow
  • 网站建设项目需求分析流程室内设计师工作内容
  • 成品网站1688入门网做国际物流需网站
  • 网站动态图怎么做织梦系统做的网站打开慢
  • 长沙科技公司排名泰安网站建设优化
  • 深圳企业网站建设专业培训网页设计
  • 可以做视频推广的网站吗外贸网站建站
  • 省住房和城乡建设厅官方网站wordpress新用户权限
  • 网站新增一个域名备案怎样做网站权重
  • 双公示 网站专栏建设网站seo优化步骤
  • 怎样做建网站做淘客静态购物网站模板
  • 免费开通的网站沈阳装修公司报价
  • 个人网站首页设计欣赏腾讯做的购物网站
  • 郑州建站模板搭建谷歌外贸网站建站
  • 婚纱摄影网站设计案例免费一级域名网站
  • dede手机医院网站模板赌网站怎么做
  • 30岁转行做网站编辑设计平台网站