题目链接:https://leetcode.cn/problems/symmetric-tree/
给定一个二叉树,检查它是否是镜像对称的.
:::info
例如,二叉树 [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
:::
思路
当二叉树对称时,即这颗树的左子树的左节点与右子树的右节点相等,左子树的右节点与右子树的左节点相等。
当树节点为0或1时,直接返回ture;否则对 root节点的左右子树的节点进行判断即可。
var isSymmetric = function(root) {if (!root) return true;return isMirrior(root.left, root.right);};const isMirrior = function(A, B) {if (!A && !B) return true;if (!A|| !B) return false;return A.val === B.val && isMirrior(A.left, B.right) && isMirrior(A.right, B.left);}
