【树】100.相同的树

100.相同的树

给定两个二叉树,编写一个函数来检验它们是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 1:

输入: 1   1
       / \ / \
     2   3 2 3

    [1,2,3],   [1,2,3]

输出: true
示例 2:

输入: 1 1
        /   \
       2   2

    [1,2],     [1,null,2]

输出: false
示例 3:

输入: 1 1
      / \ / \
     2 1 1 2

    [1,2,1],   [1,1,2]

输出: false

递归实现

bool isSameTree(TreeNode* p, TreeNode* q) {
        if(p!=NULL&&q!=NULL&&p->val!=q->val) return false;
         if((p==NULL&&q!=NULL)||(p!=NULL&&q==NULL)) return false;
         if(p==NULL&&q==NULL) return true;
        return (isSameTree(p->left,q->left)&&isSameTree(p->right,q->right));
        return true;
    }
posted @ 2020-04-27 16:09  爱吃猫的鱼69  阅读(120)  评论(0)    收藏  举报