不能借助中序遍历序列为回文串来进行判断,第二个例子就是反例
对于此题: 递归的点怎么找?从拿到题的第一时间开始,思路如下:
1.怎么判断一棵树是不是对称二叉树? 答案:如果所给根节点,为空,那么是对称。如果不为空的话,当他的左子树与右子树对称时,他对称
2.那么怎么知道左子树与右子树对不对称呢?在这我直接叫为左树和右树 答案:如果左树的左孩子与右树的右孩子对称,左树的右孩子与右树的左孩子对称,那么这个左树和右树就对称。
仔细读这句话,是不是有点绕?怎么感觉有一个功能A我想实现,但我去实现A的时候又要用到A实现后的功能呢?
当你思考到这里的时候,递归点已经出现了: 递归点:我在尝试判断左树与右树对称的条件时,发现其跟两树的孩子的对称情况有关系。
想到这里,你不必有太多疑问,上手去按思路写代码,函数A(左树,右树)功能是返回是否对称
def 函数A(左树,右树): 左树节点值等于右树节点值 且 函数A(左树的左子树,右树的右子树),函数A(左树的右子树,右树的左子树)均为真 才返回真
实现完毕。。。

class Solution {public boolean helper(TreeNode left,TreeNode right){if(left==null&&right==null)return true;if(left==null||right==null)return false;boolean flag = (left.val==right.val);if(!flag)return false;return helper(left.left,right.right)&&helper(left.right,right.left);}public boolean isSymmetric(TreeNode root) {if(root==null||root.left==null&&root.right==null)return true;if(root.left==null||root.right==null)return false;return helper(root.left,root.right);}
}

T101对称二叉树(如何递归的经典demo)相关推荐

  1. 269 t101 对称二叉树

    题解 递归三部曲掌握好,就能写出来下面的代码 // 269 t101 对称二叉树public boolean isSymmetric(TreeNode root) {if (root==null){r ...

  2. 剑指offer之中判断二叉树是不是对称二叉树(递归和非递归实现)

    1 问题 判断二叉树是不是对称(递归和非递归实现) 如下二叉树,就是对称的二叉树 23 3 1 4 4 1 如下二叉树,就是非对称的二叉树 23 3 1 4 4 2 2 代码实现 #include & ...

  3. 二叉树-对称二叉树(递归法)

    题意: 给定一个二叉树,检查它是否是镜像对称的. 中间划开,看是否对称 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / 2 2 / \ / 3 4 4 3 思路:(递归法) 这里镜像 ...

  4. [剑指offer]面试题第[28]题[Leedcode][JAVA][第101题][对称二叉树][队列][递归]

    [问题描述][简单] 给定一个二叉树,检查它是否是镜像对称的.例如,二叉树 [1,2,2,3,4,4,3] 是对称的.1/ \2 2/ \ / \ 3 4 4 3 [解答思路] 1. 递归 时间复杂度 ...

  5. LeetCode 101. 对称二叉树(递归循环)

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

  6. 【LeetCode】【HOT】101. 对称二叉树(BFS+队列/递归)

    [LeetCode][HOT]101. 对称二叉树 文章目录 [LeetCode][HOT]101. 对称二叉树 package hot;class TreeNode{int val;TreeNode ...

  7. 对称二叉树c++_二叉树:我对称么?

    给「代码随想录」一个星标吧! ❝ 又是一道"简单题"? ❞ 101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 思路 「首先想清楚,判断对称二叉树要比较的是哪两个节点, ...

  8. 力扣 (LeetCode)-对称二叉树,树|刷题打卡

    Github来源:力扣 (LeetCode)|刷题打卡 | 求星星 ✨ | 给个❤️关注,❤️点赞,❤️鼓励一下作者 [已开启]任务一:刷题打卡 * 10 篇 哪吒人生信条:如果你所学的东西 处于喜欢 ...

  9. 【每日一算法】对称二叉树

    每日一算法-对称二叉树 题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1   / \  2   2 / \ / \ 3  4 4  3 但是 ...

最新文章

  1. linux内核驱动开发 培训,嵌入式Linux驱动开发培训 - 华清远见教育集团官网
  2. 360获公安部“优秀技术支持单位”等七项荣誉
  3. [翻译] AFDropdownNotification
  4. 第1章第1节练习题10 查找中位数
  5. linux内核模块开发(笔记),Linux内核模块学习笔记
  6. vconsole在手机真机模拟器上显示console控制台
  7. 机器学习十大算法的核心思想、工作原理、适用 情况及优缺点
  8. 坚果云+Markor+Typora实现多平台Markdown协同编辑
  9. QIP.ru即时通讯服务3300万明文密码被泄
  10. 服务网关Gateway
  11. 判断清浊音 matlab,基于MATLAB的语音信号的清浊音分析.docx
  12. python基础(1)---python简介
  13. CMY/CMYK 打印机色彩
  14. 关于网红直播带货系统的开发流程及难点汇总
  15. 如何从硬盘安装DOS和windows
  16. 如何增加新浪微博粉丝数
  17. Python 引入上级目录
  18. ros执行ctrl+c后修改程序运行时间
  19. Discoverer导出的多层BOM如何拼装为能够直接体现采购层的单层BOM?
  20. 阿里P7程序员吐槽:阿里巴巴太累了,找到60万的工作就离职

热门文章

  1. python django 动态网页_Django创建动态网页的基础知识
  2. 【2018年总】——感谢遇见,感谢拥有,感谢失去
  3. 1.3 一摞烙饼的排序
  4. 夕阳红旅游团第四周报告
  5. 学编程会拉低数学成绩,巴黎大学跟踪1500个小学生得出结论
  6. dz社区模板源码手机自适应
  7. shape格式、tiff格式地图免费下载网站转载
  8. Android软键盘手动显示、隐藏、布局上移和EditText上移
  9. 算法——暴力之美(volence‘s beautify of algorithm)
  10. Java的wait()、notify()学习三部曲之一:JVM源码分析