_バイナリ対称バイナリツリー
タイトル説明
機能を実装してください、バイナリツリーは対称でないかを決定するために使用されます。バイナリ画像は対称としてこの同じ定義を持つバイナリツリーである場合いることに注意してください。
問題解決のアイデアを
ちょうどブドウの房のようにはブドウの二つの小さな束について、ブドウの大きさを比較するために、ブドウの二つの小さな束を削除しています。
回答
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def isSymmetrical(self, pRoot):
# write code here
if not pRoot:
return True
return self.equal(pRoot.left, pRoot.right)
def equal(self, left, right):
if not left and not right:
return True
if not left or not right:
return False
if left.val !=right.val:
return False
else:
return self.equal(left.left, right.right) and self.equal(left.right, right.left)