题解 先找出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