刷題系列 - Python判斷是否映象對稱二叉樹
繼續刷題,判斷是否映象對稱二叉樹。
映象對稱二叉樹,顧名思義,以根節點為軸,左右節點和節點內容互為映象;如下圖所示。這裡要避免和完全二叉樹混淆。
這個我還是考慮了一段時間,遞迴和迭代都可以實現。遞迴的,如果一個節點值作為輸入很難實現,所以新建一個新方法recurse,輸入左右兩個節點,返回bool值。思路很簡單,如果輸入兩個節點都是空,可能是單個跟節點,返回True;如果一個有,另一個為空,返回False;如果左右兩個節點,如果節點值相等,這裡遞迴,把這兩個節點的子節點左右對比,並按照and 關聯,如果有一個下層對比False,則所有都是False。如果都為True,則層層返回True。
遞迴的核心點,就是定義傳入下一次遞迴輸入,和如何處理下一次遞迴的返回。
# 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: TreeNode) -> bool: if root== None: return True else: return recurse(root.left,root.right) def recurse(leftNode,rightNode): if leftNode == None and rightNode == None: return True elif leftNode != None and rightNode != None: if leftNode.val ==rightNode.val: return recurse(leftNode.left,rightNode.right) and recurse(leftNode.right,rightNode.left) else: return False else: return False
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22259926/viewspace-2674075/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【C++】判斷一顆二叉樹是否對稱C++二叉樹
- LeetCode題解(Offer28):判斷二叉樹是否左右對稱(Python)LeetCode二叉樹Python
- 判斷二叉樹是否為滿二叉樹二叉樹
- 判斷某棵二叉樹是否二叉排序樹二叉樹排序
- 刷題系類 - Python判斷二叉樹是否存在一條路徑滿足和值要求Python二叉樹
- LeetCode題解(Offer26):判斷二叉樹A是否為二叉樹B的子樹(Python)LeetCode二叉樹Python
- LC49判斷二叉樹是否相等二叉樹
- [Python手撕]判斷平衡二叉樹Python二叉樹
- Leetcode 題解系列 -- 對稱二叉樹(遞迴)LeetCode二叉樹遞迴
- JavaScript實現-LeetCode刷題-【對稱二叉樹】-第101題!!!JavaScriptLeetCode二叉樹
- 對稱二叉樹二叉樹
- 常見物件-判斷一個字串是否對稱案例物件字串
- [Python手撕]判斷二叉搜尋樹Python
- 刷題系列 - Python用遞迴實現求二叉樹深度Python遞迴二叉樹
- 刷題系列 - Python實現二叉樹按層級遍歷Python二叉樹
- 《劍指offer》:[39-1]判斷是否為平衡二叉樹二叉樹
- 對稱的二叉樹二叉樹
- 刷題系列 - Python用非遞迴實現二叉樹前序遍歷Python遞迴二叉樹
- 【劍指offer】判斷二叉樹平衡二叉樹
- python判斷是否為listPython
- python 判斷是否為中文Python
- 刷題系列 - Python用非遞迴實現二叉樹後續遍歷Python遞迴二叉樹
- 刷題系列 - Python用非遞迴實現二叉樹中序遍歷Python遞迴二叉樹
- 劍指offer讀書筆記:每天一個程式設計題·iOS開發演算法提升計劃(1)(判斷是否為對稱二叉樹)筆記程式設計iOS演算法二叉樹
- 刷題系列 - 中序和後序遍歷佇列,構造對應二叉樹;佇列二叉樹
- LeetCode 對稱二叉樹LeetCode二叉樹
- javascript 判斷括號是否配對。JavaScript
- 採用層次遍歷判斷二叉樹為完全二叉樹二叉樹
- python 判斷檔案是否存在Python
- python判斷list是否為空Python
- C4top-是否完全二叉搜尋樹 (層次遍歷+完全判斷)
- 刷題系列 - 給出前序和後序遍歷佇列,構造對應二叉樹佇列二叉樹
- JZ-058-對稱的二叉樹二叉樹
- 101. 對稱二叉樹二叉樹
- JZ79 判斷是不是平衡二叉樹二叉樹
- js如何判斷指定名稱的函式是否存在JS函式
- 【資料結構虛擬碼】設計判斷一棵二叉樹是否是二叉排序樹的演算法資料結構二叉樹排序演算法
- 刷題系列 - 序列化和反序列化一個二叉樹二叉樹