美团3.18回文串蹲纠错

= =

lis = list(input())
l = len(lis)
flag = 0
ans = []
for i in range(l//2):
    if not lis[i] == lis[l-1-i]:
        flag += 1
        ans.append(i)
if flag == 1:
    if lis[ans[0]] == 'a' or lis[l-1-ans[0]] =='a':
        if l%2:
            lis[l//2] = 'a'
    lis[ans[0]] = lis[l - 1 - ans[0]] = 'a'
    print("".join(lis))
elif flag == 2:
    for i in range(2):
        mi = min(lis[ans[i]] ,lis[l-1-ans[i]])
        lis[ans[i]] = lis[l - 1 - ans[i]] = mi
    print("".join(lis))
elif flag == 0:
    for i in range(l // 2+1):
        if not lis[i] == 'a':
            lis[i] = lis[l - 1 - i] = 'a'
            break
    print("".join(lis))
全部评论
好像懂了
点赞
送花
回复
分享
发布于 2023-03-18 23:40 北京

相关推荐

头像
04-09 14:29
Java
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务