38. Leetcode 101. 对称二叉树 (二叉树-二叉树性质)
生活随笔
收集整理的這篇文章主要介紹了
38. Leetcode 101. 对称二叉树 (二叉树-二叉树性质)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個二叉樹的根節點 root , 檢查它是否軸對稱。示例 1:輸入:root = [1,2,2,3,4,4,3]
輸出:true
示例 2:輸入:root = [1,2,2,null,3,null,3]
輸出:false# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:def isSymmetric(self, root: TreeNode) -> bool:# 第一種方法迭代if not root or not (root.left or root.right):return True# 隊列保存節點queue = [root.left, root.right]while queue:left = queue.pop(0)right = queue.pop(0)# 判斷兩個節點if not (left or right):continueif not (left and right):return Falseif left.val != right.val:return False# 將左節點左孩子,右節點的右孩子入隊列queue.append(left.left)queue.append(right.right)queue.append(left.right)queue.append(right.left)return True# 方法二 遞歸# if not root:# return True# def dfs(left, right):# # 遞歸終止條件都為空# # 兩個節點其中一個為空# # 兩個節點的值不想等# if not (left or right):# return True# if not (left and right):# return False# if left.val != right.val:# return False# return dfs(left.left, right.right) and dfs(left.right, right.left)# return dfs(root.left, root.right)
總結
以上是生活随笔為你收集整理的38. Leetcode 101. 对称二叉树 (二叉树-二叉树性质)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 37. Leetcode 100. 相同
- 下一篇: 39. Leetcode 110. 平衡