对称二叉树Python解法
生活随笔
收集整理的這篇文章主要介紹了
对称二叉树Python解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個二叉樹的根節點 root , 檢查它是否軸對稱。
例:
輸入:root = [1,2,2,3,4,4,3] 輸出:true解析:
因為是二叉樹,那么一次只需要比較兩個節點即可。根節點比較一次,中間節點比較兩次,左邊節點的左節點和右邊節點的右節點,左邊節點的右節點和右邊節點的左節點。遞歸。
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution(object):def isSymmetric(self, root):""":type root: TreeNode:rtype: bool"""def check(node1, node2):if not node1 and not node2: # 兩個節點都不存在return Trueelif not node1 or not node2: # 一個存在一個不存在return Falseif node1.val != node2.val: # 值不相等return Falsereturn check(node1.left, node2.right) and check(node1.right, node2.left) # 分兩次比對,因為是二叉樹,一個節點最多有兩個子節點。return check(root, root)總結
以上是生活随笔為你收集整理的对称二叉树Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 格雷编码Python解法
- 下一篇: 二叉树的最大深度Python解法