Datahub
数据改变生活

2348: 【数据结构:堆栈】判断回文数

发表时间:2022-10-27 20:12

2348: 【数据结构:堆栈】判断回文数

时间限制: 1 Sec   内存限制: 64 MB

题目描述

进入上古文明遗迹的第二个陷阱是产生的密钥有可能是一个回文数,如果用户不小心输入这个回文数,就会引发危险,所以你需要判断一个数是否是回文数。

要求:由于输入的一个回文数可能无穷大,所以用单链表存储该数,将用户输入的数以一个单链表的方式存储,从头扫描该单链表,将前面的一半元素入栈,若元素总个数为奇数,则跳过中间的那个元素,然后开始循环:边退栈边在单链表中后移指针,若当前栈顶元素与单链表中当前节点的值域不相等,则退出循环。最后如果栈空且链表比较完毕,则是回文数,否则不是回文数。

输入

为一个字符串(长度小于100000),即需判断的数。

输出

如果是回文数,输出1;否则输出0。

样例输入 Copy

111122221111

样例输出 Copy

1

#include<bits/stdc++.h>

using namespace std;

char ch[100005];

int main(){

scanf("%s",ch);

int len=strlen(ch);

for(int i=len;i>=len/2;i--)

if(ch[i-1]!=ch[len-i]){cout<<0<<endl;return 0;}

cout<<1<<endl;

return 0;

}


文章分类: 算法例题
分享到:
QQ:258506508                                     联系电话:020-000000    000-000000                                   联系邮箱:xxx@.co.m                                     联系地址:XXX省XXX市XXX县XXX路