代码拉取完成,页面将自动刷新
同步操作将从 doocs/leetcode 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
[0,1,0,3,12]
说明:
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
if not nums:
return
n = len(nums)
zero_count = 0
for i in range(n):
if nums[i] == 0:
zero_count += 1
else:
nums[i - zero_count] = nums[i]
while zero_count > 0:
nums[n - zero_count] = 0
zero_count -= 1
class Solution {
public void moveZeroes(int[] nums) {
int n;
if (nums == null || (n = nums.length) < 1) {
return;
}
int zeroCount = 0;
for (int i = 0; i < n; ++i) {
if (nums[i] == 0) {
++zeroCount;
} else {
nums[i - zeroCount] = nums[i];
}
}
while (zeroCount > 0) {
nums[n - zeroCount--] = 0;
}
}
}
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var moveZeroes = function (nums) {
if (!nums.length) return nums;
let j = 0;
for (i = 0; i < nums.length; i++) {
if (nums[i]) {
if (i > j) [nums[i], nums[j]] = [nums[j], nums[i]];
j++;
}
}
return nums;
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。