PAT-字符串处理-A 1077 Kuchiguse (20分)
题目:
思路:
读入字符串,并将字符串翻转后,存储到向量中,设置计数器,并以第一个字符串,为比较字符串,遍历向量中的字符串,对字符串从头到尾进行比较,记录公共字母,不相等时跳出循环
输出结果
注意点:
使用getline读取一行时,首先要对getchar或者其他输入语句读取换行符,确保getline读取正常
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<iostream> 2 #include<string> 3 #include<vector> 4 #include<algorithm> 5 using namespace std; 6 7 int main() 8 { 9 int num, count = 0; 10 bool flag = true; 11 string res = "", temp; 12 vector<string> lines; 13 14 cin >> num; 15 getchar(); 16 17 //读取字符串并将字符串翻转存储 18 for (int i = 0;i < num;i++) 19 { 20 getline(cin, temp); 21 22 reverse(temp.begin(), temp.end()); 23 lines.push_back(temp); 24 } 25 26 //获取公共部分 27 while(flag && count<lines[0].size()) 28 { 29 for (int i = 0;i < num;i++) 30 { 31 //不相等时跳出整个循环 32 if (lines[i][count] != lines[0][count])flag = false; 33 } 34 35 if (!flag)break; 36 res = lines[0][count] + res; 37 count++; 38 } 39 40 //依据公共部分的结果进行输出 41 if (res.size() > 0)cout << res; 42 else cout << "nai"; 43 44 return 0; 45 }
作者:方知有
Motto: 热爱可抵岁月漫长
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
所有评论和私信都会在第一时间处理,如有问题或建议,请多多赐教!
支持博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!