给你一个二叉树的根节点 root , 检查它是否轴对称。
提示:
- 树中节点数目在范围
[1, 1000]内 -100 <= Node.val <= 100
示例 1:
输入: root = [1,2,2,3,4,4,3]
输出: true
示例 2:
输入: root = [1,2,2,null,3,null,3]
输出: false
题解:
/**
* @description: 深度优先 TC:O(n) SC:O(n)
* @author: JunLiangWang
* @param {*} root 给定树头节点
* @return {*}
*/
function dfs(root) {
/**
* 该方案采用深度优先递归的方式,我们将树的左子树/右子树
* 看作两个独立的树,该题就与判断两棵树是否相同是一致
* 的,只不过判断两棵树是否相同是左节点与左节点比较
* 而此处是左节点与右节点比较
*/
function recursion(p, q) {
if (p == null && q == null) return true
else if (p == null || q == null) return false
else if (p.val != q.val) return false
else return recursion(p.left, q.right) && recursion(p.right, q.left)
}
return recursion(root.left, root.right)
}
来源:力扣(LeetCode)