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

珠宝手机网站模板电商网站平台建设资金预算

珠宝手机网站模板,电商网站平台建设资金预算,静态wordpress ajax,和布克赛尔网站建设摘要 剑指 Offer 26. 树的子结构 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构),B是A的子结构, 即 A中有出现和B相同的结构和节点值。 一、子树解析 思路解析:若树B是树A的子结构,则…

摘要

剑指 Offer 26. 树的子结构

输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构),B是A的子结构, 即 A中有出现和B相同的结构和节点值。

一、子树解析

思路解析:若树B是树A的子结构,则子结构的根节点可能为树A的任意一个节点。因此,判断树 B是否是树A的子结构,需完成以下两步工作:

  • 先序遍历树A中的每个节点nA​ ;(对应函数 isSubStructure(A, B))。
  • 判断树A中以nA​为根节点的子树是否包含树B 。(对应函数 recur(A, B))

树A的根节点记作节点A ,树B的根节点称为节点B。

recur(A, B) 函数:

终止条件:

  • 当节点B为空:说明树B已匹配完成(越过叶子节点),因此返回true ;
  • 当节点A为空:说明已经越过树A叶子节点,即匹配失败,返回false ;
  • 当节点A和B的值不同:说明匹配失败,返回false ;

返回值:

  • 判断A和B的左子节点是否相等,即 recur(A.left, B.left) ;
  • 判断A和B的右子节点是否相等,即 recur(A.right, B.right) ;

isSubStructure(A, B) 函数:

特例处理: 当 树A为空 或 树B为空时,直接返回 false;

返回值: 若树B是树A的子结构,则必满足以下三种情况之一,因此用或 || 连接;

  • 以 节点A为根节点的子树 包含树B,对应 recur(A, B);
  • 树B是树A左子树的子结构,对应 isSubStructure(A.left, B);
  • 树B 是树A右子树的子结构,对应 isSubStructure(A.right, B);

package Tree;/*** @Classname JZ26树的子结构* @Description TODO* @Date 2023/2/20 22:37* @Created by xjl*/
public class JZ26树的子结构 {public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}}/*** @description 判断一个树是否为一个树的子树 * @param: A* @param: B* @date: 2023/2/20 22:40* @return: boolean* @author: xjl*/public boolean isSubStructure(TreeNode A, TreeNode B) {return (A != null && B != null) && (recur(A, B) || isSubStructure(A.left, B) || isSubStructure(A.right, B));}boolean recur(TreeNode A, TreeNode B) {if(B == null) {return true;}if(A == null || A.val != B.val) {return false;}return recur(A.left, B.left) && recur(A.right, B.right);}
}

复杂度分析:

  • 时间复杂度O(MN) : 其中 M,N分别为树A和 树B的节点数量;先序遍历树A占用 O(M),每次调用 recur(A, B) 判断占用O(N) 。
  • 空间复杂度O(M) : 当树A和树B都退化为链表时,递归调用深度最大。当 M≤N时,遍历树A与递归判断的总递归深度为M ;当 M>N时,最差情况为遍历至树A 叶子节点,此时总递归深度为 M。

博文参考

《leetcode》

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

相关文章:

  • 国外免费建站网站uc浏览器网页版
  • 广州市企业网站制作公司安卓手机网页视频怎么下载
  • 昆明免费网站建设网页制作工程师
  • 网站运营 策划 推广 维护wordpress自动抓取
  • 网站建设与管理规定wordpress可以拖动
  • 可植入代码网站开发网域名查询地址
  • 任县网站建设电子商务网站建设步骤有什么
  • 网站制作的公司小说网站排名免费
  • 网店平台网站建设需求柳江企业网站建设价格
  • 菜单设计制作网站郑州比较好的电商公司有哪些
  • 仙居县建设规划局网站企业云
  • 怎么查看网站根目录营销技巧视频讲座视频
  • 建筑设计网站制作电信外包有必要去吗
  • 网站建设的具体流程深圳网站的设计公司
  • 门户网站开发的背景和意义做海外贸易的网站名叫什么
  • 做网站都需要用到什么软件郑州做个人网站的公司
  • 堵博网站建设电商平台网站模板
  • 教育培训网站源码 模板 php培训机构网站源码培训学校网站源码企业网站系统设计与实现
  • 装修公司名字大全参考南阳网站建设优化
  • 京东商城网站建设策划书彩票网站 模块
  • 手机上那个网站做农产品推广比较好详情页设计模板详情页设计素材
  • 赞助网站怎么做学校门户网站建设说明
  • 襄州区城乡建设局网站石家庄抖音推广公司
  • html 网站源码 卖手机怎样制作一个网页
  • 青岛建站软件如何建立竞价网站
  • 做汽车网站开题报告的意义做网站网站判刑多少年
  • 怎样加盟网站建设网络营销应该这样做
  • 做网站找华企软件定制开发服务收费多少
  • 免费学做网站网站推广广告词
  • 网站上传服务器后台上传资料出错网站怎么添加假备案号