我在赛码网参加美团的笔试的时候,好像出现了a.replace() 不能用的问题。有人遇到过吗?
这是我的代码,问题是类似回文数字串。第一行n,n组数据。第二行l,一串数字的长度,第三行是一串数字。题目要求是判断能否改变一个数变成回文,如果不能,改变一个数,让数字尽量小。
def IsReversible(bricks): count = 0 for i in range(len(bricks)//2): if bricks[i] != bricks[-i-1]: count +=1 if count > 2: return False else: return True n = int(input()) for i in range(n): l = int(input()) bricks = str(input()) #如果可逆,那么将奇数型字符串的中间一位替换为0 if IsReversible(bricks): if l%2 == 1: bricks.replace(bricks[l//2], '0') else: for j in range(l): if int(bricks[j]) > 0: bricks.replace(bricks[j], '0') break print(bricks)
全部评论
(2) 回帖