LEETCODE 100. 相同的树

LEETCODE 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

题目地址
中文版
英文版

代码实现

# 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
		"""
		def recursion(n1, n2):
			if(not n1 and not n2):
				return True
			if(not n1 and n2) or (n1 and not n2):
				return False
			if(n1.val != n2.val):
				return False
			if recursion(n1.left,n2.left):
				return recursion(n1.right,n2.right)
			return False
		return recursion(p,q)
                                                                          
0 次阅读

发表评论

电子邮件地址不会被公开。