题解 | #牛棚品种分类#
牛棚品种分类
https://www.nowcoder.com/practice/0b6068f804b9426aa737ea8606e8d5c3
题目考察的知识点:字符串
题目解答方法的文字分析:判断两个字符串是否为同一个,排序后再判断;大致思路是,从strs数组中寻找是否同一类,如果是,则相加,并且删除这个字符串,直到strs为空。
本题解析所用的编程语言:c++
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param strs string字符串vector
* @return string字符串vector
*/
bool issame(string s1, string s2)
{
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
if (s1 == s2)
return true;
return false;
}
vector<string> groupAnagrams(vector<string>& strs) {
// write code here
vector<string> v;
while (strs.size())
{
string tmp, s;
tmp = strs[0];
auto it = strs.begin();
while (it != strs.end())
{
if (issame(tmp, *it))
{
if (s.size())
s += ',';
s += *it;
it = strs.erase(it);
}
else
++it;
}
v.push_back(s);
}
sort(v.begin(), v.end());
return v;
}
};
查看13道真题和解析