对称二叉树

Posted 微up

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对称二叉树相关的知识,希望对你有一定的参考价值。

题目

难度级别:简单

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

例如

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

进阶:

你可以运用递归和迭代两种方法解决这个问题吗?

解题思路

通过深度周游算法,递归遍历分别比较2个节点,因为对称关系,所以2个节点需要满足

1:当前节点值相同
2:当前节点的left与另一个节点的right值相同;当前节点的right与另一个节点的left值相同。

之后就可以通过递归进行比较了。

const isSymmetric = function(root) {

const check = function(p,q) {
if (p == null && q == null)
return true
else if (p == null || q == null || p.val != q.val)
return false
else
return check(p.left,q.right) && check(p.right, q.left)
}

return check(root,root)
};

题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/symmetric-tree


以上是关于对称二叉树的主要内容,如果未能解决你的问题,请参考以下文章

2021-10-05:对称二叉树。给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。力扣101。

101. 对称二叉树

101. 对称二叉树

面试题28:对称的二叉树

剑指offer面试题 28. 对称的二叉树

剑指offer:对称的二叉树