leetcode移动零Python哈希
时间: 2024-09-19 18:00:28 浏览: 42
在 LeetCode 中,"移动零"这个问题通常涉及到数组操作和逻辑思维。给定一个由整数组成的数组,你需要将所有零元素向右移动,使得非零元素保持相对顺序不变。这个过程可以在 Python 中通过巧妙地使用双指针技术来实现,同时利用哈希表或者列表推导式跟踪非零元素的位置。
以下是一个简单的 Python 解决方案示例:
```python
def moveZeroes(nums):
non_zero_count = 0
for i in range(len(nums)):
if nums[i] != 0:
nums[non_zero_count], nums[i] = nums[i], nums[non_zero_count]
non_zero_count += 1
while non_zero_count < len(nums):
nums[non_zero_count] = 0
non_zero_count += 1
# 测试样例
nums = [0, 1, 0, 3, 12]
moveZeroes(nums)
print(nums) # 输出: [1, 3, 12, 0, 0]
```
在这个代码中,`non_zero_count` 变量记录了非零元素的数量。遍历过程中,遇到非零数就直接交换到正确位置,并更新计数器。最后,把剩余的所有零元素填入剩下的位置。
阅读全文