这个题的数据范围挺小的,可以直接暴力求解,就不贴代码了
可以把words
里的所有单词拼成一个字符串str,每个单词之间用','隔开,然后遍历words
的每个单词,如果这个单词在str里出现了两次以上则表示这个单词在str里面
class Solution {
public:
vector<string> stringMatching(vector<string>& words) {
vector<string> res;
string str;
for (auto i : words) {
str += i + ',';
}
for (auto i : words) {
if (str.find(i) != str.rfind(i)) {
res.push_back(i);
}
}
return res;
}
};
用了一圈C++ Java Python Go写算法,发现写算法还是C++好用