题目:500. 键盘行
链接:https://leetcode-cn.com/problems/keyboard-row/
好久没有写C++的代码了,外审意见也刚刚返回,很幸运评审意见都是略作修改后答辩。马上也要入职了,C++还是快点捡起来吧。
C++:
class Solution {
private:
vector<string> lines = {"qwertyuiop", "asdfghjkl", "zxcvbnm"};
public:
int findFirstCharLine(const string &word) {
if (lines[0].find((char)tolower(word[0])) != -1) {
return 0;
} else if (lines[1].find((char)tolower(word[0])) != -1) {
return 1;
} else {
return 2;
}
}
vector<string> findWords(vector<string> &words) {
vector<string> ret;
for (const auto &word :words) {
int pos = findFirstCharLine(word);
bool findFlag = true;
for (auto chr:word) {
if (lines[pos].find((char)tolower(chr)) == -1) {
findFlag = false;
break;
}
}
if (findFlag) {
ret.push_back(word);
}
}
return ret;
}
};