Java教程

队列实现回文

本文主要是介绍队列实现回文,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#include<iostream>
#include<queue>
#include<string>
using namespace std;
int main()
{
queue<char>S1;
queue<char>S2;
string s;
getline(cin,s);
for(int j=0;j<s.length();j++){
if(s[j]==' '){
for(int m=j;m<s.length();m++){
s[m]=s[m+1];
}
s=s.substr(0,s.length()-1);
}
}
int len=s.length();
int i =0;
int m=0;
char a[len/2];
while(i<len/2)
{
S1.push(s[i]);
i++;
}
if(len%2==1)
{
i++;
}
while(i<len)
{
S2.push(s[i]);
i++;
}
while(!S2.empty()){
a[m]=S2.front();
S2.pop();
m++;
}
if(len==1){
cout<<"该字符串不是回文字符串"<<endl;
}
for(int n=m-1;n>=0;n--){
if(a[n]!=S1.front()){
cout<<"该字符串不是回文字符串"<<endl;
break;
}
S1.pop();
if(n>0){
continue;
}
cout<<"该字符串是回文字符串"<<endl;
}
}

附:

今天看到几个方便的方法:

 

这篇关于队列实现回文的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!