例如:98,一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),首先想让strNum[i - 1]–,然后strNum[i]给为9,这样这个整数就是89,即小于98的最大的单调递增整数。
class Solution:
def monotoneIncreasingDigits(self, n: int) -> int:
# 需要加一个标志位 来确定什么时候是九?
temp = list(str(n))
flag = 0
for i in range(len(temp) - 1, 0, -1):
if temp[i - 1] > temp[i]:
flag = i
temp[i - 1] = str(int(temp[i - 1]) -1)
for i in range(flag,len(temp)):
temp[i] = "9"
return int("".join(temp))