101. Symmetric Tree
Leetcode
題目
Input: root = [1,2,2,3,4,4,3]
Output: trueInput: root = [1,2,2,null,3,null,3]
Output: false解答
Last updated
Input: root = [1,2,2,3,4,4,3]
Output: trueInput: root = [1,2,2,null,3,null,3]
Output: falseLast updated
var isSymmetric = function(root) {
const isMirror = (node1, node2) => {
if(node1 === null && node2 === null) return true;
if(node1 === null || node2 === null) return false;
return (node1.val === node2.val)
&& isMirror(node1.left, node2.right)
&& isMirror(node1.right, node2.left)
}
return isMirror(root, root);
};var isSymmetric = function(root) {
const queue = [root, root];
while(queue.length) {
const node1 = queue.shift();
const node2 = queue.shift();
if (node1 === null && node2 === null) continue;
if (node1 === null || node2 === null) return false;
if (node1.val !== node2.val) return false;
// 將相對稱的 node 依序放在 queue 的最前面
queue.push(node1.left);
queue.push(node2.right);
queue.push(node1.right);
queue.push(node2.left);
}
return true;
};