本文共 777 字,大约阅读时间需要 2 分钟。
题目的链接在这里:
代码如下:
class Solution { public String removeKdigits(String num, int k) { if(num.length()==k) return "0"; //栈顶始终是最大值 Stackstack=new Stack<>(); //把第一个放进去 stack.push(num.charAt(0)-'0'); //再开始遍历 for(int i=1;i 0&&now 0){ k--; stack.pop(); } //10 k=1时,now等于0,满足条件把1去掉了,但是now为0并且栈是空的 if(stack.isEmpty()) return "0"; StringBuilder sb=new StringBuilder(); while(!stack.isEmpty()){ //就把这些int又转化为String sb.append(stack.pop()); } //并且是从后往前的,所以需要逆序一下 return sb.reverse().toString(); }}
转载地址:http://gnfen.baihongyu.com/