public static String removeKDigits(String num,int k) {
//新整数的最终长度=原长度 - k
int newLength=num.length()-k;
//创建一个栈,用于接收所有数字
char[] stack=new char[num.length()];
//栈顶指针
int top=0;
for (int i = 0; i < stack.length; i++) {
char c=num.charAt(i);
while(top > 0 && stack[top-1] > c && k > 0) {
top--;
k--;
}
stack[top++]=c;
}
//找到栈中第一个非0整数的位置,以此来构建整数字符串
int offset=0;
while(offset < newLength && stack[offset] == '0') {
offset++;
}
return offset==newLength ? "0" : new String(stack,offset,newLength - offset);
} public static void main(String[] args) {
System.out.println(removeKDigits("1593212", 1));
System.out.println(removeKDigits("1593212", 4));
}

最新文章

  1. HTTP API接口安全设计
  2. Spark MLlib 之 Basic Statistics
  3. JAVA反射其实就是那么一回事
  4. spring--aop总结
  5. 解决TextView最后一行显示不全
  6. JavaScript Patterns 2.12 Writing API Docs
  7. [转]建立swap分区
  8. room_speed和image_speed
  9. 【CSS3】---:before :after生成内容
  10. w3c标准的selection对象介绍
  11. 【笔记】虚拟机用Xshell登陆报错“ssh服务器拒绝了密码”解决方法
  12. android 后台服务定时通知
  13. 从零开始学JavaWeb
  14. Ubuntu使用小技巧
  15. 剑指offer(32)把数组排成最小的数
  16. ROS教程5 使用串口
  17. Tomcat入门
  18. 异步消息处理机制Handler
  19. OpenACC 云水参数化方案
  20. php 用命令行导出和导入MySQL数据库

热门文章

  1. Wix制作安装包
  2. 2018-2019-1 20189221 《Linux内核原理与分析》第八周作业
  3. 遇到问题---hosts不起作用问题的解决方法
  4. windows server配置ftp服务器以及外网访问
  5. 43.HTML--a标签之mailto邮箱属性用法
  6. 41.SEO----前端SEO技巧
  7. MySQL报错
  8. C#中生成的随机数为什么不随机?
  9. Java 内存分配
  10. elsearch