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

上海网站开发建设找哪家网页微信版看聊天记录有记录吗

上海网站开发建设找哪家,网页微信版看聊天记录有记录吗,外贸网站建设定制,花生壳做网站是否稳定优质博文#xff1a;IT-BLOG-CN 一、题目 给你两棵二叉树的根节点p和q#xff0c;编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同#xff0c;并且节点具有相同的值#xff0c;则认为它们是相同的。 示例 1#xff1a; 输入#xff1a;p [1,2,3], q [1,…优质博文IT-BLOG-CN 一、题目 给你两棵二叉树的根节点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]内 -104 Node.val 104 二、代码 【1】深度优先搜索 如果两个二叉树都为空则两个二叉树相同。如果两个二叉树中有且只有一个为空则两个二叉树一定不相同。如果两个二叉树都不为空那么首先判断它们的根节点的值是否相同若不相同则两个二叉树一定不同若相同再分别判断两个二叉树的左子树是否相同以及右子树是否相同。这是一个递归的过程因此可以使用深度优先搜索递归地判断两个二叉树是否相同。 /*** 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) {// 思想递归遍历if (p null q null) {return true;} else if (p null || q null) {return false;} else if (p.val q.val) {return isSameTree(p.left, q.left) isSameTree(p.right, q.right);}return false;} }时间复杂度 O(min⁡(m,n))其中m和n分别是两个二叉树的节点数。对两个二叉树同时进行深度优先搜索只有当两个二叉树中的对应节点都不为空时才会访问到该节点因此被访问到的节点数不会超过较小的二叉树的节点数。 **空间复杂度O(min⁡(m,n))其中m和n分别是两个二叉树的节点数。空间复杂度取决于递归调用的层数递归调用的层数不会超过较小的二叉树的最大高度最坏情况下二叉树的高度等于节点数。 【2】广度优先搜索 可以通过广度优先搜索判断两个二叉树是否相同。首先判断两个二叉树是否为空如果两个二叉树都不为空则从两个二叉树的根节点开始广度优先搜索。使用两个队列分别存储两个二叉树的节点。初始时将两个二叉树的根节点分别加入两个队列。每次从两个队列各取出一个节点进行如下比较操作。   ■ 比较两个节点的值如果两个节点的值不相同则两个二叉树一定不同   ■ 如果两个节点的值相同则判断两个节点的子节点是否为空如果只有一个节点的左子节点为空或者只有一个节点的右子节点为空则两个二叉树的结构不同因此两个二叉树一定不同   ■ 如果两个节点的子节点的结构相同则将两个节点的非空子节点分别加入两个队列子节点加入队列时需要注意顺序如果左右子节点都不为空则先加入左子节点后加入右子节点。 如果搜索结束时两个队列同时为空则两个二叉树相同。如果只有一个队列为空则两个二叉树的结构不同因此两个二叉树不同。 /*** 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) {// 广度优先需要两个队列:LinkedListif (p null q null) {return true;} else if (p null || q null) {return false;}QueueTreeNode m new LinkedListTreeNode(); // 存放 p 节点QueueTreeNode n new LinkedListTreeNode(); // 存放 q 节点m.offer(p);n.offer(q);while(!m.isEmpty() !n.isEmpty()) {TreeNode node1 m.poll();TreeNode node2 n.poll();// 不同返回 false相同还需要看左右节点if (node1.val ! node2.val) {return false;}// 获取平铺列表TreeNode left1 node1.left;TreeNode right1 node1.right;TreeNode left2 node2.left;TreeNode right2 node2.right;if (left1 null ^ left2 null) {return false;}if (right1 null ^ right2 null) {return false;}if (left1 ! null) {m.offer(left1);}if (right1 ! null) {m.offer(right1);}if (left2 ! null) {n.offer(left2);}if (right2 ! null) {n.offer(right2);}} return m.isEmpty() n.isEmpty();} }时间复杂度 O(min⁡(m,n))其中m和n分别是两个二叉树的节点数。对两个二叉树同时进行广度优先搜索只有当两个二叉树中的对应节点都不为空时才会访问到该节点因此被访问到的节点数不会超过较小的二叉树的节点数。 空间复杂度 O(min⁡(m,n))其中m和n分别是两个二叉树的节点数。空间复杂度取决于队列中的元素个数队列中的元素个数不会超过较小的二叉树的节点数。
http://www.dnsts.com.cn/news/48096.html

相关文章:

  • 做海鲜团购网站网站建设一般用什么编程
  • 网站和网站的app小程序api接口怎么对接
  • 网站幕布拍摄软件平台和系统的区别
  • 长沙公司做网站找哪个公司好wordpress文章只显示摘要
  • 青岛网站建设费用百度推广收费标准
  • 上海做衣服版的网站现在外地人能进深圳吗
  • 找网站推广如何快速的做网站
  • 江苏淮安建设局网站cdr 做网站
  • 免费建站自助建站广州app开发公司地址
  • 温州网站制作多少钱怎么制作网页内容
  • 如何使用表格做网站中山手机网站制作哪家好
  • 爱折腾 wordpress有必要买优化大师会员吗
  • 网站推广的资源合作推广wordpress图片滑动
  • 顺德中小企业网站建设热搜榜百度
  • 绍兴网站制作报价西安企业名录电话资料
  • 网站页面建议计算机网站建设论文
  • 网站开发兼容ie58网站建设 网站制作
  • 微信扫码抢红包网站做优化网站打开速度
  • 阿里买域名 电脑做网站北京企业做网站
  • 荣盛科技网站建设欢迎访问语文建设杂志网站
  • 计算机应用技术网站开发方向宁波做网站优化哪家好
  • 中国网站建设哪家公司好系统优化的方法知识点
  • 苏州网站推广如何nas服务器 做网站
  • 网站建设及维护费东莞做网站 9353
  • 深圳俄语网站建设北京市网页设计
  • 北京保障性住房建设投资中心网站仿制网站
  • 校园网站开发的需求分析如何增加网站权重
  • 大型建设网站中国基建人才库证书查询
  • 南宁网站seo公司哪家好怎么选择网站开发公司
  • 赤壁网站制作秀洲区住房和城乡建设局网站