本题思路较为简单,实际上就是把单词数组看成一个字母矩阵,让 i, j 位置的单词一直等于j, i位置的就行,
a b c
b c d
c d f
实际上我们只要沿着上述的矩阵左下等于右上即可。
代码如下
public class Solution {
/**
* @param words: a list of string
* @return: a boolean
*/
public boolean validWordSquare(String[] words) {
// Write your code here
if(words.length == 0 || words[0].length() == 0){
return true;
}
List<String> strs = new ArrayList<>();
for(int i =0; i < words.length / 2 + 1; i++){
for(int j = 0; j < words[i].length() / 2 + 1; j++){
if(j >= words.length || i >= words[j].length()
|| words[j].charAt(i) != words[i].charAt(j)){
return false;
}
}
}
return true;
}
}