描述
给定一个单词序列,检查它是否构成一个有效单词广场。
一个有效的单词广场满足:如果第k行和第k列读取相同的字符串,并且0≤k<max(numRows numColumns)
。
给定的单词数量至少为1,且不超过500
。
单词长度至少为1,不超过500
。
每个单词只包含小写英文字母a-z
。
您在真实的面试中是否遇到过这个题?
是
样例
给定
[
"abcd",
"bnrt",
"crmy",
"dtye"
]
返回 true
解释:
第一行和第一列都是“abcd”。
第二行和第二列都是“bnrt”。
第三行和第三列都是“crmy”。
第四行和第四列都是“dtye”。
因此,这是一个有效的单词广场.
给定
[
"abcd",
"bnrt",
"crm",
"dt"
]
返回 true
解释:
第一行和第一列都是“abcd”。
第二行和第二列都是“bnrt”。
第三行和第三列都是“crm”。
第四行和第四列都是“dt”。
因此,这是一个有效的单词广场.
给定
[
"ball",
"area",
"read",
"lady"
]
返回 false
解释:
第三行是 "read" 但是第三列是 "lead".
因此,这不是一个有效的单词广场.
无难度题目,对角线两边数字字母相同即可。
class Solution {
public:
/**
* @param words: a list of string
* @return: a boolean
*/
bool validWordSquare(vector<string> &words) {
// Write your code here
for(int i=0;i<words.size();i++){
for(int j=i+1;j<words[i].length();j++){
if(words[i][j]!=words[j][i]) return false;
}
}
return true;
}
};