LeetCode-100

LeetCode-100

问题复述

判断两个二叉树是否相同

解决方案

模板:
fun{
要做什么,放在这部分;
fun(左子树);
fun(右子树);
}

比较算法步骤:
先判断是否都为空,若是则为true;
否则就是不同时为空,判断是否有一个为空,另一个不为空,若是则一定为false;
否则就是都不为空,判断其值,若不相等,则false;
否则递归左右子树。

程序源码

class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
    if(p==nullptr&&q==nullptr){
        return true;
    }else if(p==nullptr||q==nullptr){
        return false;
    }else if(p->val!=q->val){
        return false;
    }else{
        return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
    }
}
};
上一篇:二叉查找树的查找、插入以及删除原理及代码实现


下一篇:链表交换和排序