1def remove_k_digits(num, k):
2 stack = []
3 for digit in num:
4 while k > 0 and stack and stack[-1] > digit:
5 stack.pop(); k -= 1
6 stack.append(digit)
7 while k > 0: stack.pop(); k -= 1
8 res = ''.join(stack).lstrip('0')
9 return res if res else '0'