您当前的位置: 首页 >  Python

Better Bench

暂无认证

  • 3浏览

    0关注

    695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Leetcode刷题Python】402. 移掉 K 位数字

Better Bench 发布时间:2022-07-18 23:03:03 ,浏览量:3

1 题目

给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。

2 解析

(1)从左开始遍历num (2)如果当前值都大于左边和右边的元素,就删除当前元素 (3)如果当前元素小于左边元素,就删除左边元素。 (4)用栈来记录左边的元素

3 Python实现
class Solution:
    def removeKdigits(self, num: str, k: int) -> str:
        stack = []
        remain = len(num) - k
        # 如果提出的长度和字符串长度一样,一定返回是0
        if len(num)==k:
            return '0'
        for n in num:
            # 栈顶元素大,就删除栈顶,直到k为0
            while k and stack and n             
关注
打赏
1665674626
查看更多评论
0.0426s