422. Valid Word Square


做题历程:

  1. 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;
    }
};

results matching ""

    No results matching ""