欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

38. Leetcode 101. 对称二叉树 (二叉树-二叉树性质)

发布时间:2025/4/5 编程问答 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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. 对称二叉树 (二叉树-二叉树性质)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。