专栏首页面试经验贴[leetcode二叉树系列]4 对称二叉树

[leetcode二叉树系列]4 对称二叉树

本文涉及知识点 

  • 二叉树的遍历
  • 队列的运用

二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

二叉树知识复习:[今天给二叉树加个BGM,二叉树唱歌了!]

队列知识复习:[leetcode栈队列]1 栈实现队列

1

Leetcode101 对称二叉树

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

示例1:

例如,二叉树 [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

小蓝希望大家在此思考1分钟,

效果更好哈!

01

题目解析

  • 思路

思路阐述

如果为对称二叉树,其连续的左右子节点值是相等的。我们将两节点先入队,然后每次从队列取出两个节点,最后将其左右子节点按照相反的顺序入队。队列空则结束判断。下面画图理解下。

  • 从根节点访问,先把根节点的左右节点放入队列中。

  • 从队列取出两个元素。将左节点的左孩子与右节点的右孩子比较如下图的最左边数值为35的节点和最右边的数值为35的节点(绿色节点).

02

动画演示

小蓝希望大家能够开开心心的学习,并能得到好的offer!也可以分享给身边朋友或者文末点个在看哟。

03

代码实现

1

c++版本

2

python版本

3

java版本

本文分享自微信公众号 - 我是程序员小贱(Lanj1995Q),作者:Lj

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [leetcode二叉树系列]2 二叉树的层次遍历

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • [leetcode二叉树系列]5 二叉树翻转

    首先我们的目标是将节点的左右值进行交换,说到这里小伙伴可以自行想想可以使用几种方法进行交换,其效率如何,为什么?ok,回到正题,这道题同样是交换,我们交换两个节...

    我是程序员小贱
  • [leetcode二叉树系列]3 二叉树的最大深度

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • 「leetcode二叉树系列」4 对称二叉树

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    小林coding
  • [leetcode二叉树系列]2 二叉树的层次遍历

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • 关于二叉树,你该了解这些!

    说道二叉树,大家对于二叉树其实都很熟悉了,本文呢我也不想教科书式的把二叉树的基础内容在啰嗦一遍,所以一下我讲的都是一些比较重点的内容。

    代码随想录
  • [leetcode二叉树系列]3 二叉树的最大深度

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • 数据结构严书习题6.65已知前中序,求二叉链表

    已知一棵二叉树的前序序列和中序序列分别存于两个一维数组中,试编写算法建立该二叉树的二叉链表。

    glm233
  • 现在告诉你MySQL为什么选择B+Tree呢?

    大家都知道MySQL数据库选择的是B+Tree作为索引的数据结构,那为什么会选择B+Tree呢?

    田维常
  • 面试官:来,手写一个赫夫曼树

    shengjk1

扫码关注云+社区

领取腾讯云代金券