本文主要是介绍一题多解之回文字符问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
递推实现
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
string s;
//递归实现
bool judge(int b,int e){//结束条件:b==e,只有一个字符;或者b>e,遍历结束if(b>=e) return true;else{//当前位置与其前一位置均相等return s[b]==s[e]&&judge(b+1,e-1);}
}
int main(){cin>>s;if(judge(0,s.size()-1))cout<<"Yes";else cout<<"No";return 0;
}
递归实现
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
string s;
int main(){bool f=true;cin>>s;//递推实现:双指针实现
for(int i=0;i<s.size()/2;i++){if(s[i]!=s[s.size()-1-i]){f=false;break;}}if(f)cout<<"Yes";else cout<<"No";return 0;
}
这篇关于一题多解之回文字符问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!