队列实现回文

编写一个程序判断一个字符串是否是回文。回文是指一个字符序列以中间字符为基准两边字符完全相同,如字符序列"ABCDEDCBA"就是回文,而字符序列"ABCDEDBAC"就不是回文。空格不计入字符

输入格式:

输入字符串如:"12321"或"1 2 32 1"

输出格式:

若是回文则输出"该字符串是回文字符串",否则输出"该字符串不是回文字符串"。

输入样例:

在这里给出一组输入。例如:

12321
 

输出样例:

在这里给出相应的输出。例如:

该字符串是回文字符串
 
结尾无空行
 
复制代码
#include <stdio.h>
#include <queue>
#include <cstring>
#define MAXSIZE 100
using namespace std;

int main()
{
    queue <char>q;
    char a[MAXSIZE];
    scanf("%s",&a);
    int t=strlen(a);
    int sum;
    //入队
    for(int k=0;k<t;k++)
    {
        if(a[k]!=' ')
        {
            q.push(a[k]);
            sum++;
        }

    }
    //出队
    int count=0;
    for(int j=t-1;j>=0;j--)
    {
        if(a[j]!=' ')
        {
             char temp=q.front();
        if(a[j]!=temp)
        {
            count++;
        }
        q.pop();
        }

    }
    if(count==0)
    {
        printf("该字符串是回文字符串");
    }
    else
    {
         printf("该字符串不是回文字符串");
    }
    return 0;
}
复制代码

 

posted @   zrswheart  阅读(184)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示