题解 | #小红的回文串构造#

小红的回文串构造

https://www.nowcoder.com/practice/1d473fd892344be5b5e3f38610896a8a

4个指针,两个在最外面,两个在内层找不同,找到不同直接交换就行,一直缩小到相交都没找到就表示改变不了输出 -1

#include <iostream>
#include <unordered_map>
using namespace std;

int main() {
    string s;
    cin >> s;
    int n = s.size();
    int start= 0, end = n - 1;
    int i = start + 1, j = end - 1;
    while(i<j && s[start] == s[i]){
        i++;
        j--;
    }
    if(i >= j){
        cout << -1 << endl;
    }else{
        swap(s[start], s[i]);
        swap(s[end], s[j]);
        cout << s << endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

12-10 19:11
重庆大学 Java
香梨想要offer:一样啊朋友,我也是被驳回了,真的挺让人无语的,为什么不一开始就挂了算了,内耗我这么多天。如果华为给每个人造成的内耗能汇聚起来,该是多大一股能量
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
12-11 14:24
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务