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

网站运营与推广计划书怎么做推广网站怎么做

网站运营与推广计划书怎么做,推广网站怎么做,淮南建设厅网站,建筑机械人才培训网官网文章目录 相同的树我的思路网上思路队列序列化方法 总结 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 图一: 图二&…

文章目录

    • 相同的树
      • 我的思路
      • 网上思路
        • 队列
        • 序列化方法
    • 总结

相同的树

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

图一:
在这里插入图片描述

图二:
在这里插入图片描述

图三:
在这里插入图片描述

示例 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

我的思路
递归
网上思路

我的思路

var isSameTree = function (p, q) {if (p === null && q === null) {return true;}if (p === null || q === null) {return false;}if (p.val !== q.val) {return false;}return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
};

讲解
基本情况:

  • 如果 p 和 q 都是 null,返回 true。
  • 如果只有一个是 null,返回 false。
  • 如果两个节点的值不同,返回 false。
    递归:
  • 递归调用 isSameTree 来比较左子树和右子树。
  • 只有当左子树和右子树都相同时,整个树才相同。

网上思路

队列
 var isSameTree = function (p, q) {const queue = [[p, q]]; // 初始化队列,存储节点对while (queue.length > 0) {const [node1, node2] = queue.shift(); // 从队列中取出一对节点// 如果两个节点都是 null,继续比较下一个if (node1 === null && node2 === null) {continue;}// 如果只有一个节点是 null,或者值不同,返回 falseif (node1 === null || node2 === null || node1.val !== node2.val) {return false;}// 将左右子节点加入队列queue.push([node1.left, node2.left]);queue.push([node1.right, node2.right]);}return true; // 如果遍历完成都没有发现不同,返回 true
}

讲解

  1. 初始化队列 创建一个队列,将两棵树的根节点 pq 成对放入队列。
  2. 循环遍历 当队列不为空时,进行以下操作:
    2.1. 取出节点对 从队列中取出一对节点 node1node2
    2.2. 检查是否都为 null 如果 node1node2 都是 null,继续下一对节点的比较。
    2.3. 检查是否有一个为 null 如果只有一个节点是 null,或两个节点的值不同,返回 false
    2.4. 入队左右子节点 如果两个节点都存在,将它们的左右子节点成对放入队列。
  3. 返回结果 如果队列处理完毕且没有发现不同,返回 true
序列化方法
var isSameTree = function (p, q) {function serialize(root) {if (root === null) {return 'null,'; // 用 'null' 表示空节点}// 先序遍历,节点值与左右子树的序列化结果return root.val + ',' + serialize(root.left) + serialize(root.right);}// 序列化两棵树并比较return serialize(p) === serialize(q);
};

讲解
序列化函数 serialize(root):

  • 编写一个辅助函数,将二叉树转换为字符串。可以使用前序遍历(pre-order traversal)来实现。
  • 如果当前节点是 null,返回字符串 ‘null,’。
  • 否则,返回当前节点的值与左右子树的序列化结果,使用逗号 , 分隔。
    主函数 isSameTree(p, q):
  • 调用 serialize 函数对两棵树进行序列化。
  • 比较两个序列化后的字符串,若相同则返回 true,否则返回 false。

总结

序列化的方法看起来挺不错的

http://www.yayakq.cn/news/269664/

相关文章:

  • 网站开发工具 下载codeus wordpress
  • 网站备案中商城服务性质是什么公司网页网站建设 ppt模板下载
  • 清新太和做网站网站规划的步骤
  • 文登区建设局网站网站开发学习什么
  • 关于医院网站建设的通知装修网站线怎样做
  • 可以做彩字的网站网站突然掉排名
  • 批量上传网站产品wordpress如何才能自己登陆进入自己的网站 进行修改呢
  • 网站建设杭州定制虚拟偶像汉化破解版
  • wordpress备份整站省级别网站建设方案
  • 找产品做代理都有哪个网站服装设计师月薪多少
  • 成都鸿邑网站建设手机站点cn
  • 网站开发工资怎么样河南做酒店网络系统网站
  • 京美建站有代码吗信誉好的中山网站建设
  • 买空间去哪个网站电脑网站显示安全证书有问题怎么解决
  • 广州定制网站设大连制作企业网站
  • 大型网站二次开发方案中国核工业第二二建设有限公司招聘
  • 中国建设银行网站晋阳支行专门教ps的网站
  • 优化 导航网站西安网站建设中企建站
  • 长沙网站开发微联网站架构设计师主要做什么
  • 如何写一个可以做报价计算的网站地方网站 o2o
  • 如何查看一家网站是否有备案开发网站服务器
  • 建个营销型网站多少钱嘉兴建设企业网站
  • 邯郸网站建设公司排名做网站听的纯音乐
  • 龙华新区做网站sns社交网站 建设
  • 中英文双语的网站怎么建设校园o2o平台有哪些
  • 网站推广前景怎么样洛阳市政建设网站
  • 南通旅游网站建设老外采购平台
  • 挂机宝如何做网站酒店类网站开发的策略
  • 自适应网站开发框架太原网站建设开发公司
  • 云南企业网站开发如何做网络营销推广工作