2007年怎么做网站,在哪个网站找学做包子,wordpress 调用相册,神鹰网站建设公司题目描述#xff1a;
给你两棵二叉树的根节点 p 和 q #xff0c;编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同#xff0c;并且节点具有相同的值#xff0c;则认为它们是相同的。 示例 1#xff1a; 输入#xff1a;p [1,2,3], q [1,2,3]
输出…题目描述
给你两棵二叉树的根节点 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
通过次数
504.1K
提交次数
834.5K
通过率
60.4%
思路和题解
两个树相同当且仅当根相同且左右子树相同。两个空树相同。
代码
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:bool isSameTree(TreeNode* p, TreeNode* q) {if(pqqNULL) return true;if((pNULL||qNULL)||p-val!q-val) return false;else return ( isSameTree(p-left,q-left)isSameTree(p-right,q-right) );}
};