变位词排序

来源:互联网 发布:网络电视机顶盒wifi 编辑:程序博客网 时间:2024/05/16 07:17
  • 请编写一个方法,对一个字符串数组进行排序,将所有变位词合并,保留其字典序最小的一个串。这里的变位词指变换其字母顺序所构成的新的词或短语。例如”triangle”和”integral”就是变位词。
    给定一个string的数组str和数组大小int n,请返回排序合并后的数组。保证字符串串长小于等于20,数组大小小于等于300。
  • 测试样例:[“ab”,”ba”,”abc”,”cba”], 返回:[“ab”,”abc”]
bool comp(string a,string b){    sort(a.begin(),a.end());    sort(b.begin(),b.end());    return a.compare(b)==0;}vector<string> sortStrings(vector<string> str, int n) {   vector<string> ret;    if(n==0)    return ret;   sort(str.begin(),str.end());   ret.push_back(str[0]);    bool ever;   for(string tmp: str){       ever=false;        for(string tar: ret){                if(comp(tmp,tar))   ever=true;           }       if(!ever)    ret.push_back(tmp);   }   return ret;}
0 0
原创粉丝点击