leet-code/src/main/java/leetcode/editor/cn/MoveZeroes.java

48 lines
1.3 KiB
Java
Raw Normal View History

2021-07-09 12:13:18 +08:00
//给定一个数组 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)
}