Given string num representing a non-negative integer
num
, and an integerk
, return the smallest possible integer after removingk
digits fromnum
.
class Solution:
def removeKdigits(self, num, k):
# stack
res = []
for n in num:
# pop larger numbers on higher places
while res and k and res[-1] > n:
res.pop()
k -= 1
# get rid of leading zeroes
if res or n is not '0':
res.append(n)
# remaining k digits
if k:
res = res[0:-k]
return ''.join(res) or '0'