给你一个二叉树的根节点 root , 检查它是否轴对称。

例:

输入:root = [1,2,2,3,4,4,3]
输出:true

解析:

因为是二叉树,那么一次只需要比较两个节点即可。根节点比较一次,中间节点比较两次,左边节点的左节点和右边节点的右节点,左边节点的右节点和右边节点的左节点。递归。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def isSymmetric(self, root):""":type root: TreeNode:rtype: bool"""def check(node1, node2):if not node1 and not node2:  # 两个节点都不存在return Trueelif not node1 or not node2:  # 一个存在一个不存在return Falseif node1.val != node2.val:  # 值不相等return Falsereturn check(node1.left, node2.right) and check(node1.right, node2.left)  # 分两次比对,因为是二叉树,一个节点最多有两个子节点。return check(root, root)

对称二叉树Python解法相关推荐

  1. leetcode 101. 对称二叉树 递归解法 c语言

    如题: 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的.1/ \2 2/ \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null ...

  2. leetcode 101. 对称二叉树 递归解法

    题目 思路 一开始想要层序遍历二叉树,然后判断每一层是否回文,写着写着发现这样太麻烦了,看了评论区别人的递归解法,才写出来的. 二叉树的四种遍历方法: https://www.cnblogs.com/ ...

  3. 从中序与后序遍历序列构造二叉树Python解法

    给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 . 来源:力扣(LeetC ...

  4. 从前序与中序遍历序列构造二叉树Python解法

    给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点. 来源:力扣(LeetCode ...

  5. LeetCode 111. Minimum Depth of Binary Tree--Java, Python解法--二叉树最小高度--迭代,递归

    题目地址:Minimum Depth of Binary Tree - LeetCode Given a binary tree, find its minimum depth. The minimu ...

  6. LeetCode 226. Invert Binary Tree--反转二叉树--C++,Python解法--递归,迭代做法

    题目地址:Invert Binary Tree - LeetCode Invert a binary tree. Example: Input: 4/ \2 7/ \ / \ 1 3 6 9 Outp ...

  7. LeetCode 230. Kth Smallest Element in a BST--C++,Python解法--面试真题--找二叉树中第K小的元素

    题目地址:Kth Smallest Element in a BST - LeetCode Given a binary search tree, write a function kthSmalle ...

  8. [蓝桥杯]横向打印二叉树 Python满分解法

    [蓝桥杯]横向打印二叉树 Python满分解法 #树的结点类定义 class Node:def __init__(self,left=0,right=0,w=0,line=0,leng=0):self ...

  9. LeetCode 101 对称二叉树的几种思路(Python实现)

    对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null, ...

最新文章

  1. SpringCloud教程- 路由网关Zuul (SpringCloud版本Greenwich.SR4)
  2. ICPC Trainings Moscow2020 K. King and Zeroing 树直径 + 思维
  3. 从WebRtc学习RTCP协议
  4. Linux查看主板的相关信息
  5. linux18.0.4安装mysql
  6. 【图像处理】基于半色调技术的图像打印程序(Image Printing Program Based on Halftoning)
  7. Python logging日志系统
  8. 廖雪峰git教程学习
  9. 小说全自动采集详细过程-支持各大开源小说CMS采集
  10. 计算机一级两列怎么筛选,怎么筛选Excel软件两个表格里相同的数据
  11. rhel7 卡在sda assuming drive cache write through不能进入操作系统的一个解决方案
  12. 毕业设计 基于单片机的室内温湿度自动控制系统(源码+硬件+论文)
  13. turtle乌龟模块画长方形
  14. 手机淘宝构架演化实践
  15. Qt源码解析之QThread
  16. 利用diskman来做数据恢复
  17. SpaceVim图标及部分字符显示乱码
  18. 基于java+ssm医院门诊预约挂号排班系统
  19. 数组三元数c语言程序,递增三元数组——第九届蓝桥杯C语言B组(省赛)第六题...
  20. vivo计算机隐藏游戏,vivoX30功能使用教程 隐藏游戏图标不让孩子发现

热门文章

  1. TypeScript 的 Object Types
  2. Chrome 浏览器扩展 - Night Eye
  3. SAP Cloud for Customer Work Center(工作中心)的实现源代码
  4. 为加快SAP Commerce Cloud在windows服务器上的启动速度,而禁用的一些服务
  5. SAP Spartacus在某些屏幕尺寸下无法正常工作的原因分析
  6. 我的工作日常:一个CSS问题引起的小插曲
  7. jasmine.FunctionMatchers.toHaveBeenCalledWith的单步调试
  8. SAP Spartacus里解析route参数的逻辑
  9. SAP系统里的胖接口Fat interface
  10. SAP Cloud for Customer OData v1和v2的区别