文章

9

粉丝

0

获赞

39

访问

978

头像
前缀字符串 题解:两种解法,字符串直接对比和前缀树
P1098 中山大学机试题
发布于2026年2月24日 16:37
阅读数 42

思路一():

  1. 思路:用 for 循环遍历一遍,对挨着的两个字符串进行前缀对比即可。

  2. 注意点:

    1. 字符串数组 arr 先 sort 一遍,则得到例如 a ab ac b 的数组,在前缀一样的情况下,前一个字符串的长度只会 <= 后一个字符串的长度,因此若 前长后短,则前缀不匹配。

    2.  

 ​
 #include <bits/stdc++.h>
 using namespace std;
 bool samePrefix(string a, string b){
     bool res = true;
     if(a.size() > b.size()) return false;
     for(int i = 0; i < a.size(); i++){
         if(a[i] != b[i])return false;
     }
     return true;
 }
 ​
 int main(){
     int n;
     while(cin >> n){
         if(!n) break;
         string temp;
         vector<string> arr;
         for(int i = 0; i < n; i++){
             cin >> temp;
             arr.push_bac...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发