JSK-58 合法回文【字符串】
合法回文
给定一个字符串,判断是不是回文字符串。只考虑字符串中的数字、字母,并且同一个字母的大写和小写是等价的。
例如:
A man, a plan, a canal: Panama 是回文。
race a car 不是回文。
注意:在这道题目中,我们认为 空串是回文字符串。
输入格式
输入有多行,以 EOF 结束。每行输入一个长度不超过 500 的字符串。
输出格式
对于每行输入,判断是否是符合题目要求的回文。如果是,则输出一行 true;否则输出一行 false。
样例输入
Live on evasions? No, I save no evil.
样例输出
true
问题链接:JSK-58 合法回文
问题描述:(略)
问题分析:
回文问题,通过左右2个指针(实际为下标)进行比较,2个指针逐步往中间收缩。
需要注意字符转换和跳过无关的字符。
程序说明:
头文件ctype.h中声明了字符有关的判断和转换函数(实际上多为宏定义)。尽量使用这些函数则使得程序代码更加简洁,并且不易产生BUG。
参考链接:(略)
题记:能不用库函数则用库函数。
AC的C语言程序如下:
/* JSK-58 合法回文 */#include <stdio.h>
#include <string.h>
#include <ctype.h>#define N 500char s[N + 1];int main(void)
{while(gets(s) != NULL) {int left = 0;int right = strlen(s) - 1;int flag = 1;while(left < right) {if(!isalnum(s[left])) {left++;continue;}if(!isalnum(s[right])) {right--;continue;}char a = (isalpha(s[left]) && isupper(s[left])) ? tolower(s[left]) : s[left];char b = (isalpha(s[right]) && isupper(s[right])) ? tolower(s[right]) : s[right];if(a != b) {flag = 0;break;} elseleft++, right--;}// 输出结果printf("%s\n", flag ? "true" : "false");}return 0;
}
JSK-58 合法回文【字符串】相关推荐
- C语言判断回文字符串
C语言判断回文字符串 #include<stdio.h> char *huiwen(char *str){int i, j,t=0;for(i = 0,j = strlen(str) - ...
- NYOJ 回文字符串
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当然, ...
- java判断回文字符串几种简单的实现
11年it研发经验,从一个会计转行为算法工程师,学过C#,c++,java,android,php,go,js,python,CNN神经网络,四千多篇博文,三千多篇原创,只为与你分享,共同成长,一起进 ...
- 题目1192:回文字符串
题目描述: 给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的. 输入: 输入包括一行字符串,其长度不超过1000. 输出: 可能有多组测试数据,对于每组数据,如果是回文字符串 ...
- 51nod 1092 回文字符串
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串.每个字符串都可以通过向中间 ...
- 判断字符串_python实现--判断回文字符串、回文链表、回文数
所谓回文字符串,就是正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串.即是对称结构Python系列教程,免费获取,遇到bug及时反馈, ...
- Palindrome(插入字符变成回文字符串)
题目:给定一个字符串,问最少插入多少字符,使字符串变成回文字符串. 思路:X:原字符串 Y:逆字符串 需要插入的字符数=X的长度-(X与Y的LCS的长度) 这里使用了滚动数组,压缩空间,原因: ...
- codevs1520 回文字符串
题解 题目描述 Description 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如: aba kllkllk tyyt 都是. 当然,我们给你的问题不会再简单到判断一个字 ...
- 回文字符串啊~---太搞了 少年 DXH
点击打开链接 j几天比赛了刚好出现了回文字符串,记得不要喝公共自序列区分啊,回文就是从前到后看是一样的,从后往前看也是一样的, 这道题的思路就是先找出本串中自有的回文串,然后再加上不是回文的剩下的子串 ...
最新文章
- PHP+MySQL手工注入问题及修复
- C#对Excel的样式操作
- Aop事务小结(事务管理器和自身构建)
- 用c语言编程求主析取范式,求主析取范式.cpp · wangzhankun/C-Programming-Learn - Gitee.com...
- ST17H26之pwm功能
- 运行返回签名不正确_如果调用约定不匹配,会发生什么?
- [Tarjan] 洛谷 P1726 上白泽慧音
- matplotlib 设置水平线、垂直线
- 【多线程系列】之生产者消费者问题
- [转载]幂等和高并发在电商系统中的使用
- Windows环境下安装Hadoop+Hive的使用案例
- Cheat Engine(CE)教程
- 百度程序员删库跑路被逮捕!
- 自我总结:找工作面试时注意事项
- Android手表商场项目总结
- PowerShield (软件加壳工具) PB混淆加密大师
- 一切业务数据化,一切数据业务化
- linux下如何用gcc编译器生成lst文件?
- 2440 wince 5.0 BSP之flash驱动分析
- 备案提示 尊敬的ICP用户: 您的短信核验失败,请您重新验证
热门文章
- 限制滥用举报功能的小建议
- GeoTools——读取shapefile数据
- 关于ArcObjects图层编辑的读写编辑锁
- android driver log,Android调试驱动抓log的方法
- tomcat的服务器目录在哪个文件夹,Tomcat目录结构详细介绍
- java map用二叉树_HashMap
- SQL对某个字段分组并加序号
- MySQL涉及的时间函数
- 启动关闭HadoopSpark历史服务
- 解决Caused by: GSSException: (Mechanism level: Failed to find any Kerberos tgt)