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. 平衡