-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathremoveKdigits.java
More file actions
37 lines (33 loc) · 964 Bytes
/
removeKdigits.java
File metadata and controls
37 lines (33 loc) · 964 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class Solution {
public String removeKdigits(String num, int k) {
if(num == "0") return num;
if(num.length() == k) return "0";
StringBuilder sb = new StringBuilder(num);
int i=0;
int j=1;
while(i < k && j < sb.length()){
if(sb.charAt(j-1)>sb.charAt(j)){
// System.out.println("1"+"v "+sb.charAt(j-1));
sb.deleteCharAt(j-1);
i++;
j--;
if(j==0) j=1;
}else
{
j++;
}
}
j=sb.length()-1;
while(i<k && j>=0){
{
// System.out.println("2"+"v "+sb.charAt(j));
sb.deleteCharAt(j--);
i++;}
}
while(sb.charAt(0) == '0' && sb.length()>1)
{
sb.deleteCharAt(0);
}
return sb.toString();
}
}