Simple Java Solution 100%
\n    public boolean validTicTacToe(String[] board) {\n      char[][] matrix = new char[3][3];\n      matrix[0] = board[0].toCharArray();\n      matrix[1] = boa
```\n    public boolean validTicTacToe(String[] board) {\n      char[][] matrix = new char[3][3];\n      matrix[0] = board[0].toCharArray();\n      matrix[1] = board[1].toCharArray();\n      matrix[2] = board[2].toCharArray();\n      \n      int cntX = 0, cntO = 0;\n      for (char[] row : matrix) {\n        for (char c : row) {\n          if (c == \'X\') cntX++;\n          if (c == \'O\') cntO++;\n        }\n      }\n      if (cntO > cntX || cntX - cntO > 1) return false;\n      if (cntO == cntX && hasSuccess(matrix, \'X\')) return false;\n      if (cntX - cntO == 1 && hasSuccess(matrix, \'O\')) return false;\n      \n      return true;\n    }\n  \n    private boolean hasSuccess(char[][] matrix, char c) {\n      for (int row = 0; row < 3; ++row) {\n        if (matrix[row][0] == c && matrix[row][1] == c && matrix[row][2] == c) {\n          return true;\n        }\n      }\n      for (int col = 0; col < 3; ++col) {\n        if (matrix[0][col] == c && matrix[1][col] == c && matrix[2][col] == c) {\n          return true;\n        }\n      }\n      if (matrix[0][2] == c && matrix[1][1] == c && matrix[2][0] == c) {\n        return true;\n      }\n      if (matrix[0][0] == c && matrix[1][1] == c && matrix[2][2] == c) {\n        return true;\n      }\n      return false;\n    }\n```
[]