422. Valid Word Square
做题历程:
- 2016/Oct/22,第一次做,没有解出
挺丢人的,这道Easy题都没有解出。。。其实本题思路很简单,就是检查words[i][j] == words[j][i],开始难住我的是words本身的结构可能不对称。。。
于是我就想先检查结构本身,就陷入了思维误区。。
其实本题根本不需要那么办,我之前是想不重复遍历,其实重复遍历就可以解决这个结构问题,想想就会弄明白的,既检查:words[i][j] == words[j][i] 又检查 words[i][j] == words[j][i]
具体的实现可以看以下代码,会更加清晰:
class Solution {
public:
bool validWordSquare(vector<string>& words) {
for (int i = 0; i < words.size(); ++i) {
for (int j = 0; j < words[i].size(); ++j) {
if (i >= words[j].size() || words[i][j] != words[j][i]) {
return false;
}
}
}
return true;
}
};