「力扣」第 100 题:相同的树(简单)


「力扣」第 100 题:相同的树(简单)

给定两个二叉树,编写一个函数来检验它们是否相同。

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

示例 1:

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

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

输出: true

示例 2:

输入:      1          1
       /           \
      2             2

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

输出: false

示例 3:

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

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

输出: false

分析:判断两棵二叉树是否一样。这是典型的使用递归解决的问题。

Python 代码:

class TreeNode(object):
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None


class Solution(object):
    def isSameTree(self, p, q):
        if p is None and q is None:
            return True

        if p is None:
            return False

        if q is None:
            return False

        return p.val == q.val and self.isSameTree(
            p.left, q.left) and self.isSameTree(p.right, q.right)

image-20181214103315065


文章作者: liweiwei1419
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liweiwei1419 !
评论
 上一篇
「力扣」第 101 题:判断两棵二叉树是否左右对称 「力扣」第 101 题:判断两棵二叉树是否左右对称
「力扣」第 101 题:判断两棵二叉树是否左右对称 中文网址:101. 对称二叉树 ; 英文网址:101. Symmetric Tree 。 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是
下一篇 
「力扣」第 94 题:二叉树的中序遍历(中等) 「力扣」第 94 题:二叉树的中序遍历(中等)
「力扣」第 94 题:二叉树的中序遍历(中等) 链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/。 给定一个二叉树,返回它的中序 遍历。 示例: 输入:
  目录