力扣刷题 -- 100.相同的树
题目
示例
思路分析
注意:有几种特殊情况
情况1:两棵树都是空树,是相同的树;
情况2:有一颗树为空树,就不是相同的树;
代码实现
//思路:第1步:判断两个树是否为空,如果是返回true//第2步:两棵树如果有一颗为空,则不是相同的树//第3步:判断根节点的值是否一样,按一定顺序去判断每棵子树
bool isSameTree(struct TreeNode* p, struct TreeNode* q)
{//两棵树都为空if(p==NULL && q==NULL){return true;}//一棵树为空if(p==NULL && q!=NULL){return false;}if(p!=NULL && q==NULL){return false;}//到这里,两个树都不为空树if(p->val != q->val){return false;}return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}