给一串名字,将他们去重之后返回。两个名字重复是说在忽略大小写的情况下是一样的。
样例
例1:
输入:["James", "james", "Bill Gates", "bill Gates", "Hello World", "HELLO WORLD", "Helloworld"]
输出:["james", "bill gates", "hello world", "helloworld"]
例2:
输入:["cmy","Cmy"]
输出:["cmy"]
说明
你可以假设名字只包含大小写字母和空格。
class Solution {
public:
/**
* @param names: a string array
* @return: a string array
*/
vector<string> nameDeduplication(vector<string> &names) {
// write your code here
vector<string> ret;
if(names.size() == 0)
return ret;
set<string> myset;
for(int i = 0; i < names.size(); i++)
{
transform(names[i].begin(), names[i].end(), names[i].begin(), ::tolower);
myset.insert(names[i]);
}
for(auto it = myset.begin(); it != myset.end(); it++)
{
ret.push_back(*it);
}
return ret;
}
};