基於棧的回文字元序列判斷

2022-07-15 13:48:17 字數 787 閱讀 4079

描述

回文序列是正反讀均相同的字串行,如「abba」和「abdba」均是回文,但是「good」不是回文。請設計乙個演算法判定給定的字串行是否為回文。

輸入多組資料,每組資料有一行。每一行為乙個長度不定的字串行a。當a為「0」時,輸入結束。

輸出對於每組資料輸出一行。若字串行a是回文序列,則輸出「yes」,否則輸出「no」。

輸入樣例 1 

abba

abdba

good

0

輸出樣例 1

yes

yesno

#include#include

using

namespace

std;

#define maxsize 1000

#define ok 1

#define error -1typedef

struct

sqstack;

int initstack(sqstack&s)

int push(sqstack& s,char

e)int pop(sqstack&s)

char gettop(sqstack&s)

intmain()

t[i]='\0'

;

if(!strcmp(t,s))

cout

<<"

yes"

cout

<<"no"

<}

}

基於棧的回文字元序列判斷

include define maxsize 10000 includeusing namespace std typedef struct sqstack int initstack sqstack s int push sqstack s,char e if s.top s.base s.sta...

棧的簡單應用 判斷回文字元

棧是一種後進先出的資料結構,它只能在一端進行插入和刪除操作,通常把它叫做top,類似於我們吃薯片的過程,你是不是先從最頂端開始吃的呢?判斷回文就是棧的乙個典型用法。所謂回文,就是左右對稱的結構,那麼我們只需要將其一半輸入棧中,再輸出判斷是否與字元另一半相等,就可以判斷是否是回文字元了,是不是十分簡單...

1149 回文字元序列

時間限制 2000ms 單點時限 1000ms 記憶體限制 256mb 描述 給定字串,求它的回文子串行個數。回文子串行反轉字元順序後仍然與原序列相同。例如字串aba中,回文子串行為 a a aa b aba 共5個。內容相同位置不同的子串行算不同的子串行。輸入 第一行乙個整數t,表示資料組數。之後...