77问答网
所有问题
仅使用栈和队列,编写一个算法来判断一个字符串是否为回文.
如题所述
举报该问题
推荐答案 2019-12-07
如果栈和队列都要用到的话,先将字符串全部入队,然后将一半(n/2)的字符出队并且压入栈中,如果字符总数为奇数则丢弃队列中第一个字符,然后将一个字符出队,一个字符出栈,比较,循环,结束。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/W8GIN3vGG3qvvNWvqY.html
其他回答
第1个回答 2019-12-12
用栈实现不重复回文:
同栈顶pop,
不同则push
pop之后有push,或者最后栈非空,则判定非回文
相似回答
回文
(
栈和队列
)(C语言)
答:
void main( ){ char str[100], queue[100], stack[100], top = -1, front = 0, rear = 0, i;int IsHuiwen = 1;gets(str);for(i = 0; str[i] != '\0'; i++){ queue[rear++] = str[i];stack[++top] = str[i];} while(top !== -1 && IsHuiwen){ if(stack[to...
用
顺序
栈和
顺序
队列判断是否
是
回文
的程序
答:
可以使用顺序栈和顺序队列来判断一个字符串是否是回文
。顺序栈和顺序队列都是数据结构,它们可以用来存储和操作数据。顺序栈是一种后进先出(LIFO)的数据结构,而顺序队列是一种先进先出(FIFO)的数据结构。结合这两种数据结构,我们可以判断一个字符串是否是回文。判断方法如下:1. 首先,我们需要把待...
C语言 数据结构
,
用
链式
队列
和链式
栈
判断一个字符串是否为回文
答:
\n");return NULL;}head->data = '0';head->next = NULL;return head;}int StackNotEmpty(LinkStack head) { //
是否为
空return (head->next != NULL);}int StackPush(LinkStack head,ElemType x) { // 入
栈
psNode p = (psNode)malloc(sizeof(struct snode));if(p == NULL) {...
栈和队列判断回文
怎样实现
算法
答:
先整体pushStack, 再pop出来,依次进queue,再输出,就是反过来的string了,
如果跟原文一样,就是回文
用
数据结构的
栈和队列
写
回文判断
答:
用栈
实现了
判断回文
数的操作,即把
字符串
依次入栈,然后出栈并依次和字符数组比较是否相等,从而
判断字符
序列
是否回文
数,代码如下:include "stdio.h"include "stdlib.h"include "string.h"define EMPTY 0 define FULL 10000 define MAX 10000 typedef char data;typedef struct elem { data d;struct ...
用
C#描述数据结构的
栈和队列
的方法
判断是否为回文
。
答:
bool Check(char[] target){ //创建
一个栈
或队列的实例 StackOrQueue temp = new StackOrQueue();//将目标
字符串
压入栈或队列 for(int i = 0; i < target.Length; i++)temp.push(target[i]);//利用栈或队列的性质
,判断是否为回文
for(int i = 0; i < target.Length; i++)//...
...
写一个栈
类
及一个队列
类
判断字符串是不是回文
标准的C++
答:
给你个
栈
类的
,队列
类和栈类的区别就是先进先出,需要的话再写~include <iostream.h> include <string.h> define max 10 class order_stack { private :int top;char temp[max];public :order_stack()//初始化栈 { top=0;memset(temp,0,sizeof(temp));} void push(char str);//入栈 ...
大家正在搜
用两个栈实现一个队列
栈和队列都是
什么时候用栈什么时候用队列
栈和队列的应用
栈和队列的特点分别是
栈和队列的主要区别是
栈和队列各自的特点
栈和队列具有相同的
栈和队列的概念