判断两棵二叉树是否相同(LeetCode--100相同的树)

题目

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

解题方法

递归求解。很显然从两棵树的根节点开始比较,如果根节点不相同,那么两棵树一定是不同的。根节点相同的情况下,分别比较左子树和右子树,依次递归比较下去。

代码

在代码中进行详细注释

public boolean isSameTree(TreeNode p, 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;
    }
    //根节点相同的情况下,递归比较左子树和右子树
    boolean l = isSameTree(p.left, q.left);
    boolean r = isSameTree(p.right, q.right);
    return l && r;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容