2026/1/17 21:19:30
网站建设
项目流程
我要做网店官网,百度竞价关键词怎么优化,四川个人网站备案,吉首建设局网站题目#xff1a;
给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。
二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也…题目给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在返回 true 否则返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。示例 1输入root [3,4,5,1,2], subRoot [4,1,2]输出true示例 2输入root [3,4,5,1,2,null,null,null,null,0], subRoot [4,1,2]输出false解析递归遍历 root 树的每个节点看看以当前节点为 root 的子树是否和 t 树相同从根节点开始判断整个树是否和 subRoot 相同不相同则递归左右子树是否和 subRoot 相同当遍历到 null 节点始终没有返回true则返回false具体代码/** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val (valundefined ? 0 : val) * this.left (leftundefined ? null : left) * this.right (rightundefined ? null : right) * } *//** * param {TreeNode} root * param {TreeNode} subRoot * return {boolean} */varisSubtreefunction(root,subRoot){if(!root){returnfalse}if(isSameTree(root,subRoot)){returntrue}returnisSubtree(root.left,subRoot)||isSubtree(root.right,subRoot)};functionisSameTree(s,t){if(!s!t){returntrue}if(!s||!t){returnfalse}returns.valt.valisSameTree(s.left,t.left)isSameTree(s.right,t.right)}