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

网站建设公司未来发展方向巧家县住房和城乡建设局网站

网站建设公司未来发展方向,巧家县住房和城乡建设局网站,免费咨询法律服务,应该双网站文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题#xff1a;左叶子之和 出处#xff1a;404. 左叶子之和 难度 3 级 题目描述 要求 给你二叉树的根结点 root \texttt{ro… 文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题左叶子之和 出处404. 左叶子之和 难度 3 级 题目描述 要求 给你二叉树的根结点 root \texttt{root} root返回所有左叶子之和。 示例 示例 1 输入 root [3,9,20,null,null,15,7] \texttt{root [3,9,20,null,null,15,7]} root  [3,9,20,null,null,15,7] 输出 24 \texttt{24} 24 解释二叉树中有两个左叶子结点值分别是 9 \texttt{9} 9 和 15 \texttt{15} 15。 示例 2 输入 root [1] \texttt{root [1]} root  [1] 输出 0 \texttt{0} 0 数据范围 树中结点数目在范围 [1, 1000] \texttt{[1, 1000]} [1, 1000] 内 -1000 ≤ Node.val ≤ 1000 \texttt{-1000} \le \texttt{Node.val} \le \texttt{1000} -1000≤Node.val≤1000 解法一 思路和算法 为了计算左叶子之和需要找到二叉树中的所有是左子结点的叶结点并计算这些结点之和。可以使用深度优先搜索实现。 从根结点开始遍历二叉树对于每个结点首先判断其左右子结点是否为空然后对非空子结点执行如下操作。 如果左子结点不为空当左子结点是叶结点时将左子结点的值加到左叶子之和当左子结点不是叶结点时在左子树中继续遍历。 如果右子结点不为空且不是叶结点则在右子树中继续遍历。 上述过程是一个递归的过程递归的终止条件是当前结点为叶结点或者当前结点的非空子结点都为叶结点其余情况都会调用递归。由于只有在访问到的结点的左子结点是叶结点的情况下才会将左子结点值加到左叶子之和因此可以确保每个左叶子都被计算一次且其他结点都不会被计算。 代码 class Solution {public int sumOfLeftLeaves(TreeNode root) {int sum 0;if (root.left ! null) {if (isLeaf(root.left)) {sum root.left.val;} else {sum sumOfLeftLeaves(root.left);}}if (root.right ! null !isLeaf(root.right)) {sum sumOfLeftLeaves(root.right);}return sum;}public boolean isLeaf(TreeNode node) {return node.left null node.right null;} }复杂度分析 时间复杂度 O ( n ) O(n) O(n)其中 n n n 是二叉树的结点数。每个结点都被访问一次。 空间复杂度 O ( n ) O(n) O(n)其中 n n n 是二叉树的结点数。空间复杂度主要是递归调用的栈空间取决于二叉树的高度最坏情况下二叉树的高度是 O ( n ) O(n) O(n)。 解法二 思路和算法 也可以使用广度优先搜索计算左叶子之和。 广度优先搜索需要使用队列存储待访问的结点初始时将根结点入队列。每次将一个结点出队列首先判断其左右子结点是否为空然后对非空子结点执行如下操作。 如果左子结点不为空当左子结点是叶结点时将左子结点的值加到左叶子之和当左子结点不是叶结点时将左子结点入队列。 如果右子结点不为空且不是叶结点则将右子结点入队列。 当队列为空时遍历结束此时即可得到左叶子之和。 由于只有在访问到的结点的左子结点是叶结点的情况下才会将左子结点值加到左叶子之和因此可以确保每个左叶子都被计算一次且其他结点都不会被计算。 代码 class Solution {public int sumOfLeftLeaves(TreeNode root) {int sum 0;QueueTreeNode queue new ArrayDequeTreeNode();queue.offer(root);while (!queue.isEmpty()) {TreeNode node queue.poll();if (node.left ! null) {if (isLeaf(node.left)) {sum node.left.val;} else {queue.offer(node.left);}}if (node.right ! null) {if (!isLeaf(node.right)) {queue.offer(node.right);}}}return sum;}public boolean isLeaf(TreeNode node) {return node.left null node.right null;} }复杂度分析 时间复杂度 O ( n ) O(n) O(n)其中 n n n 是二叉树的结点数。每个结点都被访问一次。 空间复杂度 O ( n ) O(n) O(n)其中 n n n 是二叉树的结点数。空间复杂度主要是队列空间队列内元素个数不超过 n n n。
http://www.tj-hxxt.cn/news/134226.html

相关文章:

  • wordpress站点标题添加网上找装修设计
  • 国外黄冈网站推广长春网站seo报价
  • 成品网站商业网络
  • 主流的自助建站网站网页制作怎么添加视频
  • 舟山公司网站制作网站建设价目表
  • 要实现对网站中的所有内容进行搜索代码应该怎么写网站建设技术清单
  • 网站太花哨外贸网站建站要多少钱
  • 土地流转网站建设报告平台网站建设公司哪家好
  • 坦克大战网站开发课程设计报告网站建设z亿玛酷1订制
  • 一个页面对网站如何建设wordpress可以做电影站
  • 云南省网站建设成都网站制作哪家专业
  • 内蒙古网站制作公司台州建设网站制作
  • 空间商网站腾讯网站建设公司
  • 珠海做公司网站如何做简易的网站
  • 河北省建设工程造价管理协会网站微门户网站建设
  • 公司网站网页制作建议海北网站建设
  • 如何进行网页设计和网站制作网站建设这个职业是什么意思
  • 怀化建设公司网站各大网址收录查询
  • 2017网站建设报价方案做网站的好公司有哪些
  • 宁波北仑做网站阿里云 发布网站 教程
  • 湖南网站开发哪家好深圳高端网站制作费用
  • 网站做程序外贸网站模板源码
  • 网站制作的主要流程网站建设 技术支持
  • 在百度做网站多少钱网站建设服务商城
  • 河南省建设教育协会网站php网站后台上传不了图片
  • 网站建设需要具备哪些做网站分pc端和移动端的吗
  • wordpress设置安全湛江百度seo公司
  • 上海青浦房地产网站建设简历设计网官网
  • 用插件做网站建站公司外贸
  • 现在做一个网站多少钱合肥寒假兼职工网站建设