问题描述
- 求大神们给个完整的代码
-
?回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。
?要求:本题可以不用找仅用循环实现,但本实验要求必须用栈实现。
?提示:将字符串的前一半入栈,再依次出栈,与后一半进行比较,若有不等则不是回文,若依次相等则是回文。
解决方案
方法你都懂,那干嘛还要人家写代码,自己写呀
解决方案二:
STL里自带stack,然后判断一下字符串长度就好拉
解决方案三:
按题目的提示一步步来,
解决方案四:
帮你敲了一段C++的,不要嫌弃哈
#include
#include
#include
using namespace std;
bool Is_huiwen(string& s)
{
stack Stack;
char temp;
for(int i=0;i<s.length()/2;i++)
Stack.push(s[i]);
if(s.length()%2)
i=s.length()/2+1;
else
i=s.length()/2;
while(i<s.length())
{
temp=Stack.top();
Stack.pop();
if(temp!=s[i++])
return false;
}
return true;
}
int main()
{
string s;
cout<<"请输入字符串S:"<
cin>>s;
if(Is_huiwen(s))
cout<<"S是回文字符串"<<endl;
else
cout<<"S不是回文字符串"<<endl;
return 0;
}
解决方案五:
三个头文件是iostream,string,stack 你自己要用<>括起来哈。
时间: 2024-12-01 19:24:05