給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。
注意:
示例 1 :
輸入: num = "1432219", k = 3示例 2 :輸出: "1219"
解釋: 移除掉三個數字 4, 3, 和 2 形成乙個新的最小的數字 1219。
輸入: num = "10200", k = 1示例3 :輸出: "200"
解釋: 移掉首位的 1 剩下的數字為 200. 注意輸出不能有任何前導零。
輸入: num = "10", k = 2保證高位比低位小,就可以拿到最小的數字輸出: "0"
解釋: 從原數字移除所有的數字,剩餘為空就是0。
class solution:
def removekdigits(self, num, k):
""":type num: str
:type k: int
:rtype: str
"""if len(num)==k:
return '0'
i=0while i0:
if int(num[i])>int(num[i+1]):#前一位如果比後一位大,刪掉前一位
num=num[0:i]+num[i+1:]
k=k-1
if i>0:
i=i-1
else:
i=i+1
if k>0:
num=num[:-k]
while len(num)>1:
if num[0]=='0':
num=num[1:]
else:
break
return num
leetcode402移掉K位數
給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 num 的長度小於 10002 且 k。num 不會包含任何前導零。示例 1 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。思路...
LeetCode 402 移掉K位數字
給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 num 的長度小於 10002 且 k。num 不會包含任何前導零。示例 1 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。示例...
LeetCode 402 移掉K位數字
題目鏈結 題目描述 給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 示例 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。輸入 num 10200 k 1 輸出 200 解釋 移...