【Leetcode_總結】101. 對稱二叉樹 - python
阿新 • • 發佈:2019-01-11
Q:
給定一個二叉樹,檢查它是否是映象對稱的。
例如,二叉樹 [1,2,2,3,4,4,3]
是對稱的。
1 / \ 2 2 / \ / \ 3 4 4 3
但是下面這個 [1,2,2,null,3,null,3]
則不是映象對稱的:
1 / \ 2 2 \ \ 3 3
連結:https://leetcode-cn.com/problems/symmetric-tree/description/
思路:使用中序遍歷,然後判斷輸出是否是迴文串
程式碼:
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def isSymmetric(self, root): """ :type root: TreeNode :rtype: bool """ if root == None: return True else: res = [] self.middle_digui(root, res) print (res) if res == res[::-1]: return True else: return False def middle_digui(self,root,res): if root == None: return if root.left and not root.right: res.append(None) self.middle_digui(root.left,res) res.append(root.val) self.middle_digui(root.right,res) if root.right and not root.left: res.append(None)