[LeetCode]题解(python):101 Symmetric tree

题目来源


https://leetcode.com/problems/symmetric-tree/

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).


题意分析


Input:一个二叉树

Output:True or False

Conditions: 判断一个二叉树是不是对称的


题目思路


一一对应判断值是否相等,注意要清楚谁对应谁。


AC代码(Python)

 1 # Definition for a binary tree node.
 2 # class TreeNode(object):
 3 #     def __init__(self, x):
 4 #         self.val = x
 5 #         self.left = None
 6 #         self.right = None
 7 
 8 class Solution(object):
 9     def isSymmetric(self, root):
10         """
11         :type root: TreeNode
12         :rtype: bool
13         """
14         def help(p, q):
15             if p == None and q == None:
16                 return True
17             if p and q and p.val == q.val:
18                 return help(p.left, q.right) and help(p.right, q.left)
19             return False
20         
21         if root:
22             return help(root.left, root.right)
23         return True
24         

 

posted @ 2016-05-17 16:44  loadofleaf  Views(827)  Comments(0Edit  收藏  举报