「每日LeetCode」2022年9月21日

本文最后更新于:2023年3月19日 晚上

100.相同的树

100.相同的树

Category Difficulty Likes Dislikes
algorithms Easy (59.84%) 875 -

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

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

提示:

  • 两棵树上的节点数目都在范围 [0, 100] 内
  • -104 <= Node.val <= 104

Discussion | Solution

思路

按题意模拟即可

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
* @lc app=leetcode.cn id=100 lang=javascript
*
* [100] 相同的树
*/

// @lc code=start
/**
* 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} p
* @param {TreeNode} q
* @return {boolean}
*/
var isSameTree = function (p, q) {
if (!p && !q) return true;
else if ((!p && q) || (!q && p)) return false;
else
return (
p.val === q.val &&
isSameTree(p.left, q.left) &&
isSameTree(p.right, q.right)
);
};
// @lc code=end