Tianhe Gao

LC 101. Symmetric Tree

 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};

No notes link to this note

Welcome to tell me your thoughts via "email"
UP