Find Winner on a Tic Tac Toe Game LeetCode solution in JavaScript
1/**2* @param {number[][]} moves3* @return {string}4*/5let validate = (arr) => {6let set = [...new Set(arr)];7return set.length == 1 && set[0] != 0;8};910var tictactoe = function (moves) {11let grid = [12[0, 0, 0],13[0, 0, 0],14[0, 0, 0],15];16for (let i in moves) {17let [x, y] = moves[i];18grid[x][y] = i % 2 == 1 ? -1 : 1;19if (20validate(grid[x]) ||21validate(grid.reduce((prev, curr) => [...prev, curr[y]], [])) ||22validate([grid[0][0], grid[1][1], grid[2][2]]) ||23validate([grid[0][2], grid[1][1], grid[2][0]])24)25return i % 2 ? "B" : "A";26}27return moves.length == 9 ? "Draw" : "Pending";28};