输入一列含数字字符“0”的字符串,在保持字符串中非零元素相对顺序的同时,将字符串中所有的数字字符“0”移动到末尾,并输出调整后的字符串
时间: 2024-05-11 07:20:07 浏览: 70
python 移动零,给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序
5星 · 资源好评率100%
可以使用双指针来解决这个问题,一个指针指向当前非零元素的位置,另一个指针向后扫描,遇到非零元素就将其与第一个指针所指位置交换,同时第一个指针向后移动一位。最后再将第一个指针后面的所有元素都设置为“0”即可。
下面是 Python 实现的代码:
```python
def move_zeroes(s):
s = list(s)
i, j = 0, 0
while j < len(s):
if s[j] != '0':
s[i], s[j] = s[j], s[i]
i += 1
j += 1
s[i:] = ['0'] * (len(s) - i)
return ''.join(s)
```
例如,输入字符串 "1020304000",调用函数 `move_zeroes("1020304000")` 后返回 "1234000000"。
阅读全文