问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/4068 访问。

给定一个二叉树,检查它是否是镜像对称的。

例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

1
     /   \
   2     2
  / \    / \

3  4 4  3

但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

1
   /   \
 2     2
   \     \
    3    3

说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。


Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

1
     /   \
   2     2
  / \    / \

3  4 4  3

But the following [1,2,2,null,3,null,3] is not:

1
   /   \
 2     2
   \     \
    3    3

Note:Bonus points if you could solve it both recursively and iteratively.


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/4068 访问。

public class Program {public static void Main(string[] args) {var root = new TreeNode(1) {left = new TreeNode(2),right = new TreeNode(2)};var res = IsSymmetric(root);Console.WriteLine(res);Console.ReadKey();}public static bool IsSymmetric(TreeNode root) {return Symmetric(root, root);}public static bool Symmetric(TreeNode node1, TreeNode node2) {//都为空时,递归终止,为镜像二叉树if(node1 == null && node2 == null) return true;//有一个为空时,递归终止,不是镜像二叉树if(node1 == null || node2 == null) return false;//递归判定return node1.val == node2.val &&Symmetric(node1.left, node2.right) &&Symmetric(node1.right, node2.left);}public class TreeNode {public int val;public TreeNode left;public TreeNode right;public TreeNode(int x) { val = x; }}}

以上给出1种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/4068 访问。

True

分析:

显而易见,以上算法的时间复杂度为:  。

C#LeetCode刷题之#101-对称二叉树(Symmetric Tree)相关推荐

  1. leetcode刷题记录总结-7.二叉树

    文章目录 零.二叉树理论 二叉树的种类 满二叉树 完全二叉树 二叉搜索树 平衡二叉搜索树 二叉树的存储方式 二叉树的遍历方式 二叉树的定义 总结 一.二叉树的遍历 [144. 二叉树的前序遍历 ](h ...

  2. ​LeetCode刷题实战314:二叉树的竖直遍历

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  3. C#LeetCode刷题之#110-平衡二叉树(Balanced Binary Tree)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4074 访问. 给定一个二叉树,判断它是否是高度平衡的二叉树. 本 ...

  4. C#LeetCode刷题之#226-翻转二叉树(Invert Binary Tree)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4080 访问. 翻转一棵二叉树. 输入: 4    /   \   ...

  5. C#LeetCode刷题之#617-合并二叉树​​​​​​​​​​​​​​(Merge Two Binary Trees)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4096 访问. 给定两个二叉树,想象当你将它们中的一个覆盖到另一个 ...

  6. leetcode 刷题之路 64 Construct Binary Tree from Inorder and Postorder Traversal

    Given inorder and postorder traversal of a tree, construct the binary tree. Note: You may assume tha ...

  7. C#LeetCode刷题-树

    树篇 # 题名 刷题 通过率 难度 94 二叉树的中序遍历 61.6% 中等 95 不同的二叉搜索树 II 43.4% 中等 96 不同的二叉搜索树 51.6% 中等 98 验证二叉搜索树 22.2% ...

  8. ​LeetCode刷题实战546:移除盒子

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  9. ​LeetCode刷题实战568:最大休假天数

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

最新文章

  1. wordpress jquery加载如何实现?
  2. Next-best-action marketing简介
  3. php节点对象,JavaScript_JavaScript中访问节点对象的方法有哪些如何使用,JavaScript中访问节点对象的方法 - phpStudy...
  4. python双循环zip_Python如何同时进行两个循环
  5. 【iOS XMPP】使用XMPPFramewok(一):添加XMPPFramework(XCode 4.6.2)
  6. MyBatis-Plus_查询返回实体对象还是map?
  7. android9.0原生字体,iOS 9原生字体看腻了?不如学着去替换吧
  8. 使用Notepad++自动排版代码
  9. 学完 Fluent 官方基础教程,你离一名合格Fluent 流体工程师还有多远?
  10. Python临时文件创建:tempfile模块简介
  11. 互联网运营面试题_网站运营面试常见问题和答案
  12. 本地服务(local Service)的实现
  13. RK61键盘配置方法
  14. 人脸识别技术的简单认识(含原理)
  15. 【数论】斐波那契数列求和公式
  16. 惠州技校那间有读计算机网络的,惠州有哪些公办职校中专学校
  17. 计算机专业退休有退休金,我参加工作42年,国家公务员退休,二级警督,退休工资为什么按2014年10月份的工资计算机退休费...
  18. Python 的轻量级搜索工具:Whoosh
  19. 操作系统---栈区与堆区 转自:https://blog.csdn.net/amcp9/article/details/79597481
  20. V-Rep虚拟机器人实验平台在Ubuntu18.04LTS安装与使用笔记

热门文章

  1. 【英文写作日知录 第2期】句式汇总 Sun, 04 July 2021
  2. python中的编码问题
  3. 数据库的备份 mysql
  4. 数组算法 往数组尾部添加一条数据1202
  5. command对象的获取 c#
  6. 断点调试 debug模式 1006
  7. laravel 关联关系之多态关联
  8. nmon工具安装及使用
  9. ERROR: source database template1 is being accessed by other users解决方法
  10. Winform开发框架中工作流模块之申请单草稿处理