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

网站 签约上海搜索引擎优化seo

网站 签约,上海搜索引擎优化seo,律师在线咨询,最新足球赛事目录 解法#xff1a; 官方解法#xff1a; 方法一#xff1a;深度优先搜索 复杂度分析 时间复杂度#xff1a; 空间复杂度#xff1a; 方法二#xff1a;广度优先搜索 复杂度分析 时间复杂度#xff1a; 空间复杂度#xff1a; 给你两棵二叉树的根节点 p 和…目录 解法 官方解法 方法一深度优先搜索 复杂度分析 时间复杂度 空间复杂度 方法二广度优先搜索 复杂度分析 时间复杂度 空间复杂度 给你两棵二叉树的根节点 p 和 q 编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同并且节点具有相同的值则认为它们是相同的。 示例 1 输入p [1,2,3], q [1,2,3] 输出true示例 2 输入p [1,2], q [1,null,2] 输出false示例 3 输入p [1,2,1], q [1,1,2] 输出false提示 两棵树上的节点数目都在范围 [0, 100] 内-10^4  Node.val 10^4 解法 用深度优先遍历的方法将树中的元素分别取出用StringBuilder进行接收然后用equals方法判断是否相同。 /*** 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 isSameTree(TreeNode p, TreeNode q) {StringBuilder sb1 new StringBuilder();StringBuilder sb2 new StringBuilder();hasNextNode(p, sb1);hasNextNode(q, sb2);return sb1.toString().equals(sb2.toString());}public void hasNextNode(TreeNode root, StringBuilder sb) {if (root null) {return;} else {sb.append(root.val).append(-);}if (root.left ! null) {hasNextNode(root.left, sb);} else {sb.append(-);}if (root.right ! null) {hasNextNode(root.right, sb);} else {sb.append(-);}} } 官方解法 方法一深度优先搜索 如果两个二叉树都为空则两个二叉树相同。如果两个二叉树中有且只有一个为空则两个二叉树一定不相同。 如果两个二叉树都不为空那么首先判断它们的根节点的值是否相同若不相同则两个二叉树一定不同若相同再分别判断两个二叉树的左子树是否相同以及右子树是否相同。这是一个递归的过程因此可以使用深度优先搜索递归地判断两个二叉树是否相同。 class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if (p null q null) {return true;} else if (p null || q null) {return false;} else if (p.val ! q.val) {return false;} else {return isSameTree(p.left, q.left) isSameTree(p.right, q.right);}} } 复杂度分析 时间复杂度 O(min⁡(m,n))其中 m 和 n 分别是两个二叉树的节点数。对两个二叉树同时进行深度优先搜索只有当两个二叉树中的对应节点都不为空时才会访问到该节点因此被访问到的节点数不会超过较小的二叉树的节点数。 空间复杂度 O(min⁡(m,n))其中 m 和 n 分别是两个二叉树的节点数。空间复杂度取决于递归调用的层数递归调用的层数不会超过较小的二叉树的最大高度最坏情况下二叉树的高度等于节点数。 方法二广度优先搜索 也可以通过广度优先搜索判断两个二叉树是否相同。同样首先判断两个二叉树是否为空如果两个二叉树都不为空则从两个二叉树的根节点开始广度优先搜索。 使用两个队列分别存储两个二叉树的节点。初始时将两个二叉树的根节点分别加入两个队列。每次从两个队列各取出一个节点进行如下比较操作。 1.比较两个节点的值如果两个节点的值不相同则两个二叉树一定不同 2.如果两个节点的值相同则判断两个节点的子节点是否为空如果只有一个节点的左子节点为空或者只有一个节点的右子节点为空则两个二叉树的结构不同因此两个二叉树一定不同 3.如果两个节点的子节点的结构相同则将两个节点的非空子节点分别加入两个队列子节点加入队列时需要注意顺序如果左右子节点都不为空则先加入左子节点后加入右子节点。 如果搜索结束时两个队列同时为空则两个二叉树相同。如果只有一个队列为空则两个二叉树的结构不同因此两个二叉树不同。 class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if (p null q null) {return true;} else if (p null || q null) {return false;}QueueTreeNode queue1 new LinkedListTreeNode();QueueTreeNode queue2 new LinkedListTreeNode();queue1.offer(p);queue2.offer(q);while (!queue1.isEmpty() !queue2.isEmpty()) {TreeNode node1 queue1.poll();TreeNode node2 queue2.poll();if (node1.val ! node2.val) {return false;}TreeNode left1 node1.left, right1 node1.right, left2 node2.left, right2 node2.right;if (left1 null ^ left2 null) {return false;}if (right1 null ^ right2 null) {return false;}if (left1 ! null) {queue1.offer(left1);}if (right1 ! null) {queue1.offer(right1);}if (left2 ! null) {queue2.offer(left2);}if (right2 ! null) {queue2.offer(right2);}}return queue1.isEmpty() queue2.isEmpty();} } 复杂度分析 时间复杂度 O(min⁡(m,n))其中 m 和 n 分别是两个二叉树的节点数。对两个二叉树同时进行广度优先搜索只有当两个二叉树中的对应节点都不为空时才会访问到该节点因此被访问到的节点数不会超过较小的二叉树的节点数。 空间复杂度 O(min⁡(m,n))其中 m 和 n 分别是两个二叉树的节点数。空间复杂度取决于队列中的元素个数队列中的元素个数不会超过较小的二叉树的节点数。 官方解法部分: 作者力扣官方题解 链接https://leetcode.cn/problems/same-tree/
http://www.zqtcl.cn/news/585414/

相关文章:

  • 石家庄做网站汉狮网络企业标准网上备案网站
  • php网站开发权限管理广州白云区网站开发
  • 北京网站开发建设 58同城wordpress 无标题
  • 黑龙seo网站优化建设网站要学编程吗
  • 花都区水务建设管理中心官方网站怎么样才能搜索到自己做的网站
  • dedecms景区网站模板wordpress显示手动摘要
  • 备案网站免网上海网站建设机构
  • 模板建网站哪个品牌好网站制作排名
  • 网站开发咨询企业排名查询
  • 东莞做网站注意事项坪山网站建设方案
  • 网站文章页图片不显示图片手机设计
  • 公司网站版面怎么设计湖南做网站 就问磐石网络专业
  • 描述网站开发的广告词黄页网络的推广
  • 打开官方网站广告平面设计好学吗
  • 建设银行观澜支行网站做网站公司汉狮网络
  • 荆州学校网站建设seo专业培训机构
  • 网站制作上网建站程序的价钱
  • 阿里巴巴网站建设规划24小时学会网站建设pdf
  • wordpress建站以后网络公司注册资金多少
  • wordpress下载站模板优秀网站开发公司
  • ppt模板免费下载完整版免费网站微网站开发商
  • 网站建设前的分析第一小节内容wordpress自带主题下载失败
  • 深圳微信网站设计网站建设设计制作外包
  • 做数模必逛的网站wordpress 培训 主题
  • 开发网站语言天元建设集团有限公司电话
  • 兼职做网站访问量和数据关于外贸公司的网站模板
  • 旅游网站设计与实现软件定制报价单
  • 上海专业网站建站公网站开发人员
  • 淄博网站建设公司有几家网络培训平台下载
  • 优秀网站展示仲恺做网站