C 栈
程序员文章站
2022-03-25 16:49:18
...
初始化栈:top = 0;
入栈:top++;s[top] = x;
- 对于奇偶不同的情况,中间位置往往相同,不同的是需要设置不同的next。
- 比较一个数组自己的某部分与另一部分,需要复制这个数组。
判断回文
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 1000
using namespace std;
int main()
{
char a[maxn],s[maxn];
int len,mid,next;
cin >> a;
len = strlen(a);
mid = len / 2 - 1;
if(len % 2 != 0)
next = mid + 2;
else
next = mid + 1;
//初始化栈
int top = 0;
//进栈
for(int i = 0; i <= mid; i++)
s[++top] = a[i];
for(int i = next;i < len;i++)
if(a[i] != s[top])
break;
else
top--;
if(top == 0)
printf("yes\n");
else
printf("no\n");
return 0;
}
上一篇: PHP运算符的实例讲解
下一篇: php精确判断是否为索引数组