给一串名字,将他们去重之后返回。两个名字重复是说在忽略大小写的情况下是一样的。
样例
例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
set<string> judge;
vector<string> result;
int len1=names.size();
for (int i = 0; i < len1; i++) {
/* code */
int len2=names[i].size();
for (int j = 0; j < len2; j++) {
/* code */
if(isupper(names[i][j])) names[i][j]=tolower(names[i][j]);//把每一个字符转化为小写
}
if(!judge.count(names[i])) {judge.insert(names[i]);result.push_back(names[i]);}//判断是否重复,不重复则加入set和result
}
return result;
}
};```