使用两个变量,一个判断是否是第一次遇到连续的‘0’,是的话就加入1,不是就加入原数字,当遇到‘0’之后再遇到‘1’,就改变另一个变量使之后不会再处理‘0’。

import java.util.*;

public class Solution {
    
    public String maxLexicographical (String num) {
        StringBuilder res = new StringBuilder();
        int flag0 = 1, flag1 = 0;
        for(Character c:num.toCharArray()){
        	// 如果是第一次遇到0
            if(flag0 == 1 && c == '0'){
                res.append('1');
                flag1 = 1;
            }else{
            	res.append(c);
            	// 如果已经遇到过0了
                if(flag1 == 1)flag0 = 0;
            }
        }
        return res.toString();
    }
    
}