LeetCode101 & 剑指Offer 28 对称的二叉树
题目
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2f0c7e1327574e786a270b3873f7ffc6.png)
解题
解题一:深度优先搜索
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e3724a99b112cac5f13c3d117cd0eb44.png)
var isSymmetric = function(root) {
return checkSymmetric(root, root);
};
var checkSymmetric = function(p, q) {
if (p === null && q === null) return true;
if (p === null || q === null) return false;
return (p.val === q.val) && checkSymmetric(p.left, q.right) && checkSymmetric(p.right, q.left);
};
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ab8f1b66f2fa232550d0436432a36658.png)
解题二:广度优先搜索
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4bf2ff60338603836fe248a03d89b5e1.png)
var isSymmetric = function(root) {
return checkSymmetric(root, root);
};
var checkSymmetric = function(u, v) {
const queue = [u, v];
while (queue.length > 0) {
u = queue.shift();
v = queue.shift();
if (u === null && v === null) continue;
if ((u === null || v === null) || (u.val !== v.val)) return false;
queue.push(u.left);
queue.push(v.right);
queue.push(u.right);
queue.push(v.left);
}
return true;
};
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/84edb77bef119f383c57795dd48c0eea.png)