当前位置: 首页 > news >正文

2025/09/06 leetCode101. 对称二叉树

101. 对称二叉树 - 力扣(LeetCode)

 一、递归解法:

解法1

# 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: Optional[TreeNode]) -> bool:def isMirror(t1, t2):if not t1 and not t2: return Trueif not t1 or not t2: return Falsereturn t1.val == t2.val and \isMirror(t1.left, t2.right) and \isMirror(t1.right, t2.left)return isMirror(root.left, root.right)

以下两句的顺序不能颠倒:

if not t1 and not t2: return True
if not t1 or not t2: return False

知识点:python中的or

在 Python 中:

A or B 表示:如果 A 为真(truthy),就返回 A;否则返回 B。

它是 逻辑“或”只要有一个为真,结果就为真

②Python 中的 or返回值表达式,不是单纯布尔值。

a = 0
b = 123
print(a or b)    # 👉 123,因为 a 为 False,返回 b
表达式 结果 解释
0 or 123 123 0 为假 → 返回 123
[] or [1] [1] 空列表为假 → 返回非空列表
'a' or 'b' 'a' 'a' 为真 → 返回 'a'
None or 1 1 None 为假 → 返回 1

③用途

name = user_input or "Default Name"

如果用户输入是空的,就使用默认值 "Default Name"

④and的优先级高于or

⑤区别:

C/C++ 的 || 只是返回布尔值(true / false

Python 的 or返回第一个为真的值或最后一个为假值,既是逻辑运算符也是表达式运算符(逻辑判断里是“有真则真”,表达式里是“遇真返回真值”)

解法2:

class Solution:def isSymmetric(self, root: TreeNode) -> bool:if not root:return Truereturn self.compare(root.left, root.right)def compare(self, left, right):# 1.排除空节点的情况if left == None and right == None: return Trueelif left != None and right == None: return Falseelif left == None and right != None: return False# 2.排除数值不相同的情况elif left.val != right.val: return False# 3. 剩余左右节点均不为空,且数值相同的情况# 此时做递归,对下一层做判断outside = self.compare(left.left, right.right)inside = self.compare(left.right, right.left)return inside and outside

 

二、迭代法

http://www.sczhlp.com/news/75965/

相关文章:

  • 百度网站建设前期都有哪些费用win8网站模板
  • 淄博网站建设-至信网络中国建设综合门户网站
  • 主机开设成功 网站正在建设中降低
  • 网站的网站建设公司成都市住房与城乡建设厅网站
  • 滴道网站建设织梦做的网站怎么上传视频
  • 企业网站建设总结官方网站建设
  • 3合1网站建设电话做设计找图片的网站
  • 新网站做seo工业互联网平台体系
  • 第八-九天C# 19 委托委托
  • 2025.9.5 刷题日记
  • 常州网站建站wordpress 体育主题公园
  • 邗江建设局网站800元网站建设
  • .net 建网站樟木头镇网站建设
  • 网站推广方法及特点wordpress首页加注册
  • 网站开发拓扑图网站 开发 周期
  • 在 Ubuntu 上用HarmonyOS Next SDK编译 libsodium
  • 【题解】 [MX-X19-T2 LAOI-14] SPECIALZ
  • 商业API接口源码
  • 网站正在维护中啥意思网上的推广公司
  • 自己做的网站打不开怎么搞如何建设企业网站呢
  • 搭建网站需要钱吗站群cms
  • 深圳高端网站建设美工做网站基本流程
  • 湖北建设厅网站首页永修县建设局网站
  • 公司做网站怎么做账做视频网站违法
  • 北京 网站定制开发营销型网站图片
  • 做商业地产常用的网站博兴网站建设
  • 做壁纸壁的网站有什么区块链开发技术
  • HCIA回顾—8 IP路由基础
  • 梯度下降法简介
  • 子集及相关算法