C++代码:
class Solution {
public:
bool isValidSudoku(vector<vector<char>>& board) {
for (auto x : board)
{
unordered_map<char, char> hash;
for (auto y : x)
{
if (y == '.')
continue;
if (hash.find(y) != hash.end())
return false;
else
hash.insert(make_pair(y, y));
}
}
for (int i = 0; i < 9; i++)
{
unordered_map<char, char> hash;
for (int j = 0; j < 9; j++)
{
if (board[j][i] == '.')
continue;
if (hash.find(board[j][i]) != hash.end())
return false;
else
{
hash.insert(make_pair(board[j][i], board[j][i]));
}
}
}
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
{
unordered_map<char, char> hash;
for (int k = 0; k < 3; k++)
{
for (int l = 0; l < 3; l++)
{
if (board[3 * i + k][3 * j + l] == '.')
continue;
if (hash.find(board[3 * i + k][3 * j + l]) != hash.end())
return false;
else
{
hash.insert(make_pair(board[3 * i + k][3 * j + l], board[3 * i + k][3 * j + l]));
}
}
}
}
return true;
}
};