题解 先找出0出现的位置存入列表c,然后判断首个0后面是否有连续0,得出要把0变成1的个数i+1个,然后把num首歌0前面的和 i+1个0 和连续0的最后一位后面的字符串连起来。
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param num string字符串
# @return string字符串
#
class Solution:
def maxLexicographical(self , num ):
# write code here
c = []
for i,a in enumerate(num):
if a=='0':
c.append(i)
if c == []:
return num
i = 0
j = 0
while i < len(c)-1:
if c[i]+1 == c[i+1]:
i += 1
j = c[i]+1
else:
j = c[i]+1
break
num = num[0:c[0]] + '1'*(i+1) + num[j:]
return num