递推实现 #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; }