刷題系列 - 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LeetCode題解(Offer28):判斷二叉樹是否左右對稱(Python)LeetCode二叉樹Python
- 【C++】判斷一顆二叉樹是否對稱C++二叉樹
- 判斷二叉樹是否為滿二叉樹二叉樹
- 刷題系類 - Python判斷二叉樹是否存在一條路徑滿足和值要求Python二叉樹
- LeetCode題解(Offer26):判斷二叉樹A是否為二叉樹B的子樹(Python)LeetCode二叉樹Python
- 遞迴判斷是否二叉平衡樹遞迴
- LC49判斷二叉樹是否相等二叉樹
- JavaScript實現-LeetCode刷題-【對稱二叉樹】-第101題!!!JavaScriptLeetCode二叉樹
- 如何判斷一棵樹是否是二叉平衡樹~
- Leetcode 題解系列 -- 對稱二叉樹(遞迴)LeetCode二叉樹遞迴
- [Python手撕]判斷平衡二叉樹Python二叉樹
- [Python手撕]判斷二叉搜尋樹Python
- 刷題系列 - Python用遞迴實現求二叉樹深度Python遞迴二叉樹
- 刷題系列 - Python實現二叉樹按層級遍歷Python二叉樹
- 對稱二叉樹二叉樹
- 判斷序列是否是二叉搜尋樹的後續遍歷
- python判斷是否為listPython
- python 判斷是否為中文Python
- LeetCode 對稱二叉樹LeetCode二叉樹
- 對稱的二叉樹二叉樹
- 刷題系列 - Python用非遞迴實現二叉樹前序遍歷Python遞迴二叉樹
- python 判斷檔案是否存在Python
- 刷題系列 - Python用非遞迴實現二叉樹後續遍歷Python遞迴二叉樹
- 刷題系列 - Python用非遞迴實現二叉樹中序遍歷Python遞迴二叉樹
- 101. 對稱二叉樹二叉樹
- 「判斷路線成圈」python之leetcode刷題|005PythonLeetCode
- 劍指offer讀書筆記:每天一個程式設計題·iOS開發演算法提升計劃(1)(判斷是否為對稱二叉樹)筆記程式設計iOS演算法二叉樹
- javascript 判斷括號是否配對。JavaScript
- 刷題系列 - 中序和後序遍歷佇列,構造對應二叉樹;佇列二叉樹
- 採用層次遍歷判斷二叉樹為完全二叉樹二叉樹
- leetcode-101-Symmetric Tree-二叉樹對稱問題LeetCode二叉樹
- 刷題系列 - 給出前序和後序遍歷佇列,構造對應二叉樹佇列二叉樹
- JZ79 判斷是不是平衡二叉樹二叉樹
- python學習----判斷是否是閏年Python
- python如何判斷圖片是否為空Python
- JZ-058-對稱的二叉樹二叉樹
- 【資料結構虛擬碼】設計判斷一棵二叉樹是否是二叉排序樹的演算法資料結構二叉樹排序演算法
- js系列文章之 : 判斷 object 物件是否為空JSObject物件