182. 删除数字(回顾)

182. 删除数字

中文English

给出一个字符串 A, 表示一个 n 位正整数, 删除其中 k 位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。

找到删除 k 个数字之后的最小正整数。

N <= 240, k <= N

样例

样例 1:

输入: A = "178542", k = 4
输出:"12"

样例 2:

输入: A = "568431", k = 3
输出:"431"
输入测试数据 (每行一个参数)如何理解测试数据?
class Solution:
    """
    @param A: A positive integer which has N digits, A is a string
    @param k: Remove k digits
    @return: A string
    """
    def DeleteDigits(self, A, k):
        while k > 0:
            for i in range(len(A)-1):
                if A[i] > A[i+1]:
                    A = A.replace(A[i],'',1)
                    break
            else:
                A = A[:-1]
            k -= 1
        
        ##如果最后存在00023的话,则需要把前面的0去除,如果是只是0的话,则需要保留
        while A[0] == '0' and len(A) > 1:
            A = A.replace(A[0],'',1)
        return A

 

posted @ 2020-05-10 19:13  风不再来  阅读(210)  评论(0编辑  收藏  举报