题解 | #查找兄弟单词#

查找兄弟单词

https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;

bool compare(string s1,string s2) {  //compare函数用来比较排序后得字符串是否一致,
    sort(s1.begin(),s1.end());             //若排序后一致,则这两个单词可能为兄弟单词
    sort(s2.begin(),s2.end());
    if(s1==s2) return true;
    else return false;
}

int main(){
    int n;
    while(cin>>n) {
        vector<string> v,v1;  //v:用来存放所有单词 v1:用来存放兄弟单词
        for(int i=0;i<n;i++) {  //输入单词表
            string tmp;
            cin>>tmp;
            v.push_back(tmp);
        }
        string s;
        cin>>s;   //输入需要查找得单词
        for(int i=0;i<v.size();i++) {  
            if(s!=v[i] && compare(s, v[i])==true) v1.push_back(v[i]); //当需查找的单词与单词表中不一致,
        }                                                                                           //但排序后一致,则为兄弟单词
        sort(v1.begin(),v1.end());
        int k;
        cin>>k;
        cout<<v1.size()<<endl;
        if(k<=v1.size()) cout<<v1[k-1]<<endl;
    }
    return 0;
}
全部评论

相关推荐

ResourceUt...:楼主有自己的垃圾箱,公司也有自己的人才库
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务