P1628 合并序列[普及-]

https://www.luogu.com.cn/problem/P1628
涉及知识点:字符串,排序,二叉堆

橙色题
 
思路:

主要用到的函数为find函数,find函数用来对原始数据中某个字符串进行定位,以确定其位置,返回位置。

判断是否是以字符串T为前缀的单词只需要find返回的数为0即可(因为是求字符串首,字符串下标从0开始,所以当返回0时符合)

代码:

#include <iostream>
#include <algorithm>
using namespace std;
int n;
string k,a[1000005]; 

int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
       cin>>a[i];
    cin>>k;
    sort(a+1,a+n+1);//将所有的单词都按字典序排序
    for(int i=1;i<=n;i++) 
       if(a[i].find(k)==0)cout<<a[i]<<endl;
       //判断是否是以字符串T为前缀的单词,如果是输出
    return 0;
}

 

 


 
 
posted @ 2022-07-07 07:38  -イレイナ  阅读(38)  评论(0)    收藏  举报