0前面保留最小的数
by xzx666666 @ 2024-02-03 14:45:54
你可以看一下的方法:
```
cin >> s >> k;
memset(a,-1,sizeof(a));
ch = s[coconut];
while(coconut < s.length())
{
coconut += 1;
a[++n] = ch - '0';
if(a[n] == 0)
{
a[n] = -1;
}
ch = s[coconut];
}
```
by AnnaQ @ 2024-02-16 12:49:30
@[AnnaQ](/user/959411) 发错了是这个:
```cpp
while(a[m - 1] == -1 && a[m] == -1)
{
m += 1;
}
```
如果要在删完数后去除前导0的话,那可以参考这个:
```cpp
while(a[m - 1] == -1 && a[m] == -1 && m + 1 < m)
{
m += 1;
}
```
by AnnaQ @ 2024-02-16 13:40:57
@[AnnaQ](/user/959411) 又发错了。。。要在删完数后去除前导0的代码是这个:
```cpp
while(a[m - 1] == -1 && a[m] == 0 && m + 1 < n)
{
a[m] = -1;
m += 1;
}
```
by AnnaQ @ 2024-02-16 13:47:42
@[AnnaQ](/user/959411) 然后在把
```cpp
m + 1 < n
```
改为
```cpp
m + 1 <= n
```
就行了
by AnnaQ @ 2024-02-16 13:53:50
额,你别按我的了,我刚刚测试了一下,压根儿就去不掉。。
by AnnaQ @ 2024-02-16 14:36:37
while(i<l && a[i]=='0'){
i++;
}
by jiangbaolin @ 2024-03-28 09:59:16