leet-code/src/main/java/leetcode/editor/cn/MoveZeroes.java
huangge1199@hotmail.com 5c1f2f1c28 283:移动零
2021-07-09 12:13:18 +08:00

48 lines
1.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//给定一个数组 nums编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
//
// 示例:
//
// 输入: [0,1,0,3,12]
//输出: [1,3,12,0,0]
//
// 说明:
//
//
// 必须在原数组上操作,不能拷贝额外的数组。
// 尽量减少操作次数。
//
// Related Topics 数组 双指针
// 👍 1110 👎 0
package leetcode.editor.cn;
//283:移动零
class MoveZeroes {
public static void main(String[] args) {
//测试代码
Solution solution = new MoveZeroes().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public void moveZeroes(int[] nums) {
int low = 0, fast = 1;
for (; fast < nums.length; fast++) {
if (nums[low] == 0) {
if (nums[fast] == 0) continue;
else {
int tmp = nums[low];
nums[low] = nums[fast];
nums[fast] = tmp;
low++;
}
continue;
}
low++;
}
}
}
//leetcode submit region end(Prohibit modification and deletion)
}