美文网首页
Q100 Same Tree

Q100 Same Tree

作者: 牛奶芝麻 | 来源:发表于2018-02-28 16:32 被阅读2次

    Given two binary trees, write a function to check if they are the same or not.

    Two binary trees are considered the same if they are structurally identical and the nodes have the same value.

    Example 1:
    Input:     1         1
              / \       / \
             2   3     2   3
    
            [1,2,3],   [1,2,3]
    
    Output: true
    
    Example 2:
    Input:     1         1
              /           \
             2             2
    
            [1,2],     [1,null,2]
    
    Output: false
    
    Example 3:
    Input:     1         1
              / \       / \
             2   1     1   2
    
            [1,2,1],   [1,1,2]
    
    Output: false
    
    解题思路:

    根据相同树的定义,递归比较左子树与右子树的结点是否相等。注意这里的相同树必须满足左右子树对应结点的数字完全相同才可以。

    Python实现:
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def isSameTree(self, p, q):
            """
            :type p: TreeNode
            :type q: TreeNode
            :rtype: bool
            """
            if p == None and q == None:
                return True
            if p != None and q != None and p.val == q.val:
                return Solution.isSameTree(self, p.left, q.left) and Solution.isSameTree(self, p.right, q.right)
            else:
                return False
    

    相关文章

      网友评论

          本文标题:Q100 Same Tree

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