给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
递归
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
var isSymmetric = function (root: TreeNode | null): Boolean { let p = root.left; let q = root.right; var isSameTree = function (p, q) { if (!p && !q) { return true; } if (!p || !q) { return false; } if (p.val === q.val) { return isSameTree(p.left, q.right) && isSameTree(p.right, q.left); } else { return false; } }; return isSameTree(p, q); };
|