I 签到题
题意:
如果从左往右和从右往左看是一样的,那么就是回文字符串。现在给你一个长度为n(1≤n≤10e5)字符串,你可以改变字符,但改变字符有如下的规则(按从下标0开始计算):
1 将ai变成an−i−1
2 将an−i−1变成ai
现在要你将给定的这个字符串变成回文字符串,并且字典序最小。
题解:
其实从前只要线性的比较一下前数的的某个和从后面数相同位置的字母的大小,然后都换成小的即可。
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;cin>>s;
int n=s.size();
for(int i=0;i<n;i++)
{
if(s[i]>s[n-i-1])
s[i]=s[n-i-1];
}
cout<<s;
return 0;
}