
LeetCode No402.移掉K位数字
发布日期:2021-05-07 23:15:35
浏览次数:14
分类:原创文章
本文共 961 字,大约阅读时间需要 3 分钟。
题目描述
解法:单调栈
解题思路:永远保持stack是单调递增的状态,只要还有删除的机会
class Solution { public String removeKdigits(String num, int k) { LinkedList<Character> stack = new LinkedList<>(); //栈 int remain = k; //剩余的丢弃次数 char[] cs = num.toCharArray(); //num的char数组 for (char c : cs) { while (remain > 0 && !stack.isEmpty() && stack.getLast() > c) { --remain; stack.removeLast(); } stack.add(c); } //如果还有remain,删除后面 while (remain > 0) { stack.removeLast(); --remain; } //忽略前导0 while (!stack.isEmpty() && stack.getFirst() == '0') { stack.removeFirst(); } //为空的情况,直接返回0 if (stack.isEmpty()) { return "0"; } StringBuilder sb = new StringBuilder(); for (Character c : stack) { sb.append(c); } return sb.toString(); }}
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月08日 05时37分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
angr学习笔记(7)(malloc地址单元符号化)
2019-03-04
「CF149D」括号涂色 区间DP好题
2019-03-04
树状数组 模板总结
2019-03-04
「NOI2015」程序自动分析 并查集题解
2019-03-04
[JSOI2008]Blue Mary的战役地图 Hash题解
2019-03-04
结构型设计在工作中的一些经验总结
2019-03-04
如何提升员工体验 助力企业业务增长?这个棘手的问题终于被解决了!
2019-03-04
2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
2019-03-04
Netty4服务端入门代码示例
2019-03-04
MyBatis自定义类型转换器
2019-03-04
Python:面向对象
2019-03-04
Spring源码:prepareBeanFactory(beanFactory);方法
2019-03-04
AcWing 828. 模拟栈
2019-03-04
(20200328已解决)从docker容器内复制文件到宿主机
2019-03-04
理解Docker ulimit参数
2019-03-04
OpenAI Gym简介及初级实例
2019-03-04
int 转 CString
2019-03-04
Edit编辑框自动换行与长度
2019-03-04
Java面向对象
2019-03-04
JAVA带标签的break和continue
2019-03-04