/** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undefined ? null : right) * } *//** * @param {TreeNode} root * @param {TreeNode} subRoot * @return {boolean} */const isSametree = (root, subRoot) => { if (root == null && subRoot == null) return true // 如果有一棵树为 null, 另一棵树后面还有节点,则不符合题意 if (root === null || subRoot === null) return false // 判断 先序遍历 的顺序是否一致 if (root.val !== subRoot.val) return false return isSametree(root.left, subRoot.left) && isSametree(root.right, subRoot.right)}var isSubtree = function (root, subRoot) { if (!root) return false isSametree(root, subRoot) // 递归遍历 root 判断是否有子树 return isSametree(root, subRoot) || isSubtree(root.left, subRoot) || isSubtree(root.right, subRoot)};