两个指针判别字符串是否是回文字符串
2016-05-15 17:24
218 查看
前段时间做了腾讯实习生笔试题,其中一道是判别回文字符串的,这里给出自己的一个解法,希望对大家有所帮助:
1.求出字符串s长度;
2.使用两个指针p、q分别指向其左右两边;
3.若*p一直等于*q,则表明为回文字符串;
代码如下(一个函数实现,有冗余):
#include<iostream>
#include<string.h>
using namespace std;
void main()
{
char s[100];
char* p = NULL;
char* q = NULL;
printf("请输入一个字符串:\n");
scanf("%s",s);
int len = strlen(s);
cout<<len<<endl;
if(len%2 == 0)
{
p = &s[len/2-1];
q = &s[len/2];
int p_len = len/2 -1;
while(p_len != 0)
{
if(*p == *q)
{
p--;
q--;
p_len--;
}
else
break;
}
if(p_len == 0)
printf("s是回文字符串 \n");
else
printf("s不是回文字符串 \n");
}
else
{
p = &s[len/2-1];
q = &s[len/2+1];
int p_len = len/2 -1;
while(p_len != 0)
{
if(*p == *q)
{
p--;
q--;
p_len--;
}
else
break;
}
if(p_len == 0)
printf("s是回文字符串 \n");
else
printf("s不是回文字符串 \n");
}
system("pause");
return;
}
1.求出字符串s长度;
2.使用两个指针p、q分别指向其左右两边;
3.若*p一直等于*q,则表明为回文字符串;
代码如下(一个函数实现,有冗余):
#include<iostream>
#include<string.h>
using namespace std;
void main()
{
char s[100];
char* p = NULL;
char* q = NULL;
printf("请输入一个字符串:\n");
scanf("%s",s);
int len = strlen(s);
cout<<len<<endl;
if(len%2 == 0)
{
p = &s[len/2-1];
q = &s[len/2];
int p_len = len/2 -1;
while(p_len != 0)
{
if(*p == *q)
{
p--;
q--;
p_len--;
}
else
break;
}
if(p_len == 0)
printf("s是回文字符串 \n");
else
printf("s不是回文字符串 \n");
}
else
{
p = &s[len/2-1];
q = &s[len/2+1];
int p_len = len/2 -1;
while(p_len != 0)
{
if(*p == *q)
{
p--;
q--;
p_len--;
}
else
break;
}
if(p_len == 0)
printf("s是回文字符串 \n");
else
printf("s不是回文字符串 \n");
}
system("pause");
return;
}
相关文章推荐
- failed to push some refs to 'git@github.com:songmengke/NotePadVMware.git'
- 微信公众平台开发--微信网页授权
- java断言的学习
- poj 2187 Beauty Contest (凸包 Graham)
- hpp.h与.h的区别
- hadoop命令备忘
- 严重: Exception sending context initialized event to listener instance of class org.springframework.we
- Android 自定义属性(Attribute)详解
- jQuery与AJAX----jQuery中ajax接口
- 敏捷开发流程
- DE2-115创建Web Server详细步骤(Quartus 13.1)
- HashMap和HashSet的区别和分析
- iOS开发系列--无限循环的图片浏览器
- Sql四种语言
- Java编程思想[一]对象
- [Linux][PHP]安装swoole扩展
- 64.GitHub 排名前100的android项目简介
- [PWA] 1. Intro to Service worker
- jquery-uploadfile的使用(多文件异步上传)
- c函数编程之指针参数和指向指针的指针参数