编写函数int f(char*s),判断s所指的串是否为“回文串”,及前后对称的串,如:a131a,若是返回1,否则返回0
答案:3 悬赏:10 手机版
解决时间 2021-11-17 04:16
- 提问者网友:温柔港
- 2021-11-16 06:13
编写函数int f(char*s),判断s所指的串是否为“回文串”,及前后对称的串,如:a131a,若是返回1,否则返回0
最佳答案
- 五星知识达人网友:掌灯师
- 2021-11-16 07:11
int f(char* s)
{
if(NULL == s)return 0;
char *head=s;//指向第一个字符
char *tail=s+strlen(s)-1;//指向最后一个字符
while(true)
{
if(head >= tail)return 1;
if(*head == *tail)
{
head++;
tail--;
}
else
{
return 0;
}
}
}
全部回答
- 1楼网友:未来江山和你
- 2021-11-16 09:41
可以创建两个指针p1,p2,开始都指向串首,然后让p2移到字符串的末尾。这时候p1 p2指向的字符开始匹配,相等则p1++,p2--,直到两个指针相遇。
不知道我说得请不清楚。这个不难,建议楼主有时间自己写。直接看别人贴的代码,不易于锻炼编程能力。追问这还真不是锻炼的时候,能具体操作一下吗?谢了。。。追答楼下的貌似就可以了,大概就那个意思
不知道我说得请不清楚。这个不难,建议楼主有时间自己写。直接看别人贴的代码,不易于锻炼编程能力。追问这还真不是锻炼的时候,能具体操作一下吗?谢了。。。追答楼下的貌似就可以了,大概就那个意思
- 2楼网友:一叶十三刺
- 2021-11-16 08:32
int f(char*s)
{
int len = strlen(s);
for (int i=0; i {
if (s[i] != s[len-i-1])
return 0;
}
return 1;
}
{
int len = strlen(s);
for (int i=0; i
if (s[i] != s[len-i-1])
return 0;
}
return 1;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯