1/**
2 * Definition for a binary tree node.
3 * function TreeNode(val, left, right) {
4 * this.val = (val===undefined ? 0 : val)
5 * this.left = (left===undefined ? null : left)
6 * this.right = (right===undefined ? null : right)
7 * }
8 */
9/**
10 * @param {TreeNode} root
11 * @return {boolean}
12 */
13var isSymmetric = function(root) {
14 if (root === null) return true
15 let queue = []
16 queue.push(root.left)
17 queue.push(root.right)
18 while (queue.length) {
19 let leftNode = queue.shift()
20 let rightNode = queue.shift()
21 if (leftNode === null && rightNode === null) continue
22 if (leftNode === null || rightNode === null || leftNode.val !== rightNode.val) return false
23 queue.push(leftNode.left)
24 queue.push(rightNode.right)
25 queue.push(leftNode.right)
26 queue.push(rightNode.left)
27 }
28 return true
29};