Find Winner on a Tic Tac Toe Game LeetCode solution in C++

1
class Solution {
2
public:
3
string tictactoe(vector<vector<int>> &moves) {
4
vector<vector<char>> grid(3, vector<char>(3));
5
char val = 'x';
6
for (auto &p : moves) {
7
grid[p[0]][p[1]] = val;
8

9
val = val == 'x' ? 'o' : 'x';
10
}
11
for (int i = 0; i < 3; i++) {
12
// check row
13
if (grid[i][0] == 'x' && grid[i][1] == 'x' && grid[i][2] == 'x') return "A";
14
if (grid[i][0] == 'o' && grid[i][1] == 'o' && grid[i][2] == 'o') return "B";
15

16
// check columns
17
if (grid[0][i] == 'x' && grid[1][i] == 'x' && grid[2][i] == 'x') return "A";
18
if (grid[0][i] == 'o' && grid[1][i] == 'o' && grid[2][i] == 'o') return "B";
19
}
20
// check diagonal
21
if (grid[0][0] == 'x' && grid[1][1] == 'x' && grid[2][2] == 'x') return "A";
22
if (grid[0][2] == 'x' && grid[1][1] == 'x' && grid[2][0] == 'x') return "A";
23
if (grid[0][0] == 'o' && grid[1][1] == 'o' && grid[2][2] == 'o') return "B";
24
if (grid[0][2] == 'o' && grid[1][1] == 'o' && grid[2][0] == 'o') return "B";
25

26
if (moves.size() == 9) {
27
return "Draw";
28
}
29
return "Pending";
30
}
31
};
32
// if you like the solution plz upvote.

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0