美文网首页
Same Tree同树比较

Same Tree同树比较

作者: 穿越那片海 | 来源:发表于2017-03-08 21:25 被阅读0次

Easy

判断两棵树是否相同。

这是简单的递归问题,比较根节点,然后左分支与左分支比较,右分支与右分支比较。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    

def isSameTree(self, p, q):
        """
        :type p: TreeNode
        :type q: TreeNode
        :rtype: bool
        """

        if p and q:
            if p.val == q.val:
                return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)
            else:
                return False
        elif p == q:
            return True
        else:
            return False

这里有个问题,我一开始写的代码中if p.val == q.val的内部环境如下,判断相同后返回True, 结果返回错误。此处原因与null的存在有关,但具体怎么解释我还不是很清楚。

            if p.val == q.val:
                if self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right):
                    return True
Submission Result: Wrong Answer

Input:
[10,5,15]
[10,5,null,null,15]
Output:
null
Expected:
false

相关文章

网友评论

      本文标题:Same Tree同树比较

      本文链接:https://www.haomeiwen.com/subject/qndigttx.html