Mình có code bằng C++ để kiểm tra chuỗi đối xứng bằng 2 cách, nhưng khi test thử thì code dùng hàm bị sai 1 số trường hợp như chuỗi “abca”, còn code k dùng hàm vẫn đúng, ai giúp em fix với ạ
- C1: không dùng hàm:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin>>s;
int i,t=0;
int n=s.size();
for(i=0;i<n/2;i++)
{
if(s[i]==s[n-i-1])
t=-1;
else
t=0;
}
if(t==-1)
cout<<"palind";
else
cout<<"NOT";
}
- C2: dùng hàm:
#include<bits/stdc++.h>
using namespace std;
int pd(string s)
{
int i;
int n=s.size();
for(i=0;i<n/2;i++)
{
if(s[i]==s[n-i-1])
return -1;
else
return 0;
}
}
int main()
{
string s;
cin>>s;
if(pd(s)==-1)
cout<<"palind";
else
cout<<"NOT";
}