java栈和队列验证回文串_【数据结构】使用栈和队列判断字符串是否是回文

这篇博客介绍了如何用Java实现数据结构中的栈和队列来判断一个字符串是否为回文。通过构造一个空栈和空队列,将字符串中的字符依次入栈和入队,然后逐个比较栈顶和队头的字符,从而确定字符串是否为回文。源代码展示了具体的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:这是武汉理工大学计算机学院计科专业【数据结构】课程的实验:使用栈和队列判断字符串是否是回文

谨记:纸上得来终觉浅,绝知此事要躬行。

原题目:

假设称正读和反读都相同的字符序列为“回文”,例如,‘abba’和‘abcba’是回文,‘abcde’和‘ababab’则不是回文。试写一个算法判别读入的一个以‘@’为结束符的字符序列是否是“回文”。

源代码:

// *.cpp: 定义控制台应用程序的入口点。

#include

using namespace std;

#define STACK_INIT_SIZE 100

#define STACKINCREASE 10

#define SElemType char

#define QElemType char

#define Status int

#define OK 1

#define OVERFLOW -1

#define ERROR 0

typedef struct QNode {

QElemType data;

struct QNode *next;

}QNode, *QueuePtr;

typedef struct {

QueuePtr front; //对头指针

QueuePtr rear; //队尾指针

}LinkQueue;

//构造空队列Q

Status InitQueue(LinkQueue &Q) {

Q.front = Q.front = (QueuePtr)malloc(sizeof(QNode));

if (!Q.front) return OVERFLOW;

Q.front->next = NULL;<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值