移除k位数

2021-07-05  本文已影响0人  小幸运Q

image.png

各位数字最好从高位到低位保持上升。虽然能保证有序,但是遵照题目要求,只能剔除前面k个不遵守该规定的数字。

class Solution:
    def removeKdigits(self, num: str, k: int) -> str:
        # stack[-1]<num[i]
        stack=[]
        for i in range(len(num)):
            while k>0 and len(stack)>0 and stack[-1]>num[i]:
                stack.pop()
                k-=1
            stack.append(num[i])
        stack=stack[:len(stack)-k]
        if len(stack)==0:
            return "0"
        return str(int("".join(stack)))
上一篇 下一篇

猜你喜欢

热点阅读