Open Zheaoli opened 2 years ago
/*
* @lc app=leetcode id=572 lang=typescript
*
* [572] Subtree of Another Tree
*/
// @lc code=start
/**
* Definition for a binary tree node.
* class TreeNode {
* val: number
* left: TreeNode | null
* right: TreeNode | null
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
* }
*/
// type TreeNode = {
// val: number
// left: TreeNode | null
// right: TreeNode | null
// };
function isSameTree(p: TreeNode | null, q: TreeNode | null): boolean {
if (!p && !q) {
return true;
}
if (!p || !q) {
return false;
}
return p.val === q.val
&& p.left?.val === q.left?.val
&& p.right?.val === q.right?.val
&& isSameTree(p.left, q.left)
&& isSameTree(p.right, q.right);
};
function isSubtree(root: TreeNode | null, subRoot: TreeNode | null): boolean {
if (!root && !subRoot) {
return true;
}
if (!subRoot) {
return true;
}
if (!root || !subRoot) {
return false;
}
const isSame = root.val === subRoot.val && isSameTree(root, subRoot);
return isSame || isSubtree(root.right, subRoot) || isSubtree(root.left, subRoot);
};
// @lc code=end
微信id: 弘树 来自 vscode 插件
2022-08-28