class TreeNode():
def __init__(self, data=-1):
self.data = data
self.leftChild, self.rightChild = None, None
def insert(self, data):
prior = self
while True:
if prior.data > data:
if prior.leftChild == None:
prior.leftChild = TreeNode(data)
break
prior = prior.leftChild
elif prior.data < data:
if prior.rightChild == None:
prior.rightChild = TreeNode(data)
break
prior = prior.rightChild
elif prior.data == data:
break
def isEqualTree(a,b):
if a == None and b == None:
return True
elif (a==None and b!=None) or (a!=None and b==None):
return False
elif a.data != b.data:
return False
else:
return \
isEqualTree(a.leftChild,b.leftChild) and isEqualTree(a.rightChild,b.rightChild)
try:
while True:
n = int(input().strip())
nums = list(map(eval,input().strip()))
root = TreeNode(nums[0])
for num in nums[1:]:
root.insert(num)
for i in range(n):
nums = list(map(eval,input().strip()))
tree = TreeNode(nums[0])
for num in nums[1:]:
tree.insert(num)
if isEqualTree(root,tree):
print("YES")
else:
print("NO")
input()
except:
pass
KY124 二叉搜索树
最新推荐文章于 2024-10-03 09:02:12 发布