题意:

一个长度为 n 的序列 a1, m2, ..., an-1, an,如果 ai = an-i+1, i = 1, 2, ..., n,则称之为“回文序列”。本题对于给定的一个序列,请判断其是否回文序列。有多个测试用例。每个测试用例占两行,第一行是一个正整数 n,表示待测试序列有 n 项。第二行是待测试序列,序列的项以一个空格分隔,但是,如果序列项是字符,则没有分隔的空格。输入直至没有数据为止。对于每个测试用例,输出一行,如果输入序列是回文序列,则输出 YES,否则输出 NO.

解题:C++/Accepted/332k/0ms

#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
int n;
while (cin >> n) {
string strr;
getline(cin, strr);
string str;
getline(cin, str);
int num = str.length();
vector<string> vec;
string s;
for (int i = 0;i < num;i++)//将字符串按空格分割
{
if (str[i]== ' ')//遇到空格,说明上一个字已经完整了,将它放进句子的数组
{
vec.push_back(s);
//while (!s.empty())
//s.pop_back();
s ="";
}
else
s.push_back(str[i]);
}
vec.push_back(s);
bool isin = true; //标记
if (vec.size() == 1)//说明输入没有空格
{
for (int k = 0;k < num/2;k++)
if (str[k] != str[num - 1 - k]) //按第一个和最后一个,第二个和倒数第二个...字符比较,如果存在某一对不同,则标记为假,且退出
{
isin = false;
break;
}
if (isin) //如果标记为真,则说明没有对应不同的字符
cout << "YES" << endl;
else
cout << "NO" << endl;
}
else
{ //这里比较的是相对应位置的字,原理和上面一样
for (int k1 = 0;k1 < vec.size() / 2;k1++)
if (vec[k1] != vec[vec.size() - 1 - k1])
{
isin = false;
break;
}
if (isin) //如果标记为真,则说明没有对应不同的字
cout << "YES" << endl;
else
cout << "NO" << endl;
} }
return 0;
}

最新文章

  1. Java打印九九乘法表
  2. 阿里云服务器Linux CentOS安装配置(十)安装Discuz
  3. ubuntu处理中文时设置locale
  4. 一致性哈希算法学习及JAVA代码实现分析
  5. [转]反向代理过程与Nginx特点详解
  6. $.getJSON()方法的 callback说明
  7. MarkDown基础使用教程-by sixleaves
  8. C#后台代码编写图片地址Properties.Resources._1;
  9. oracle 解析json格式
  10. JS执行效率与性能提升方案
  11. python进阶(7):面向对象进阶
  12. python+selenium自动化软件测试(第7章):Page Object模式
  13. alert 执行顺序问题
  14. Machine Learning - XV. Anomaly Detection异常检測 (Week 9)
  15. curl错误码说明
  16. Servlet之cookie处理
  17. Jenkins - SSH认证方式拉取Git代码
  18. python3,打印一年的某一天是一年的第几天
  19. day057 基于对象和基于双下划线的多表查询
  20. 【NGINX】配置文件

热门文章

  1. jQuery读取json文件
  2. 李洪强iOS开发之OC[007] - 李洪强iOS开发之类的声明和实现
  3. JS鼠标的拖拽原理
  4. linux undefined reference to symbol &#39;floor@@GLIBC_2.2.5&#39;
  5. LeetCode543. Diameter of Binary Tree
  6. grails email 发送邮件插件
  7. markdown软件和网站
  8. PYTHON MYSQL 的表创建和插入
  9. MySQL右连接
  10. PHP中导出Excel,将数据以Excel形式导出