Leetcode 100.相同的树(Same Tree)

Leetcode 100.相同的树

1 题目描述(Leetcode题目链接)

  给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

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

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

输出: true
输入:      1          1
          /           \
         2             2

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

输出: false

2 题解

  题意即判断两个二叉树是否完全相同,一毛一样,递归很简单。

# 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: TreeNode, q: TreeNode) -> bool:
        if not p and not q:
            return True
        if p and q and p.val == q.val:
            return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right) 
        else:
            return False

你可能感兴趣的:(Leetcode,算法,leetcode)