_バイナリ対称バイナリツリーoffer_安全性を証明

_バイナリ対称バイナリツリー

タイトル説明
機能を実装してください、バイナリツリーは対称でないかを決定するために使用されます。バイナリ画像は対称としてこの同じ定義を持つバイナリツリーである場合いることに注意してください。

問題解決のアイデアを
ちょうどブドウの房のようにはブドウの二つの小さな束について、ブドウの大きさを比較するために、ブドウの二つの小さな束を削除しています。
回答

# -*- 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)           
公開された31元の記事 ウォンの賞賛0 ビュー716

おすすめ

転載: blog.csdn.net/freedomUSTB/article/details/105161436