Idea: Recursión
Diseñe una función para juzgar cada nodo.
Si ambos están vacíos, devuelva verdadero.
Si ambos no están vacíos, devuelva la recursión del hijo izquierdo y la del hijo derecho cuando los dos valores son iguales.
De lo contrario, devuelva falso.
# 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:
return self.isSameNode(p,q)
def isSameNode(self,node1,node2):
if node1 == None and node2 == None:
return True
elif node1 is not None and node2 is not None:
if node1.val == node2.val:
return (self.isSameNode(node1.left,node2.left)) and (self.isSameNode(node1.right,node2.right))
else:
return False
else:
return False