class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None# 這道題和第100題很類似,都可以用遞歸的方法做出來class Solution: def isSymmetric(self, ...
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
# 這道題和第100題很類似,都可以用遞歸的方法做出來
class Solution:
def isSymmetric(self, root: TreeNode) -> bool:
# 若當前節點為空,其左右兒子節點肯定為對稱的
if not root :return True
# 寫一個遞歸函數,用來判斷
def Tree(p, q):
# 兩個節點都為空,則兩個節點是對稱節點。
if not p and not q :return True
# 兩個節點都不為空,而且節點值相同,則為對稱節點
if p and q and p.val == q.val:
# 然後繼續向下一代比較
return Tree(p.left,q.right) and Tree(p.right,q.left)
return False
return Tree(root.left,root.right)