0

Question at hand: https://leetcode.com/problems/same-tree/

Can someone point out why my JavaScript solution can pass the test cases but fails during the actual submission?

var isSameTree = function(p, q) {
  let queue = [];
  queue.push(p);
  queue.push(q);
  while (!queue.length) {
    let p = queue.shift();
    let q = queue.shift();

    if (p == null && q == null) {
      continue;
    } else if (p == null || q == null || p.val != q.val) {
      return false;
    } else {
      queue.push(p.left);
      queue.push(q.left);
      queue.push(p.right);
      queue.push(q.right);
    }
  }
  return true;
};
Mr. Polywhirl
  • 42,981
  • 12
  • 84
  • 132
Mike Chan
  • 167
  • 1
  • 11

1 Answers1

0

@trincot mentioned it in the comments.

Just update the comparison inside the while loop to get into that loop.

var isSameTree = function(p, q) {
  let queue = [];
  queue.push(p);
  queue.push(q);
  while (queue.length != 0) {
    let p = queue.shift();
    let q = queue.shift();

    if (p == null && q == null) {
      continue;
    } else if (p == null || q == null || p.val != q.val) {
      return false;
    } else {
      queue.push(p.left);
      queue.push(q.left);
      queue.push(p.right);
      queue.push(q.right);
    }
  }
  console.log(queue);
  return true;
};

This will pass all the test cases.

Yash Shah
  • 1,634
  • 1
  • 5
  • 16