diff --git a/src/main/java/leetcode/editor/cn/MoveZeroes.java b/src/main/java/leetcode/editor/cn/MoveZeroes.java new file mode 100644 index 0000000..e87f3c2 --- /dev/null +++ b/src/main/java/leetcode/editor/cn/MoveZeroes.java @@ -0,0 +1,48 @@ +//给定一个数组 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) + +} \ No newline at end of file diff --git a/src/main/java/leetcode/editor/cn/MoveZeroes.md b/src/main/java/leetcode/editor/cn/MoveZeroes.md new file mode 100644 index 0000000..ff51e19 --- /dev/null +++ b/src/main/java/leetcode/editor/cn/MoveZeroes.md @@ -0,0 +1,14 @@ +

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

+ +

示例:

+ +
输入: [0,1,0,3,12]
+输出: [1,3,12,0,0]
+ +

说明:

+ +
    +
  1. 必须在原数组上操作,不能拷贝额外的数组。
  2. +
  3. 尽量减少操作次数。
  4. +
+
Related Topics
  • 数组
  • 双指针
  • \n
  • 👍 1110
  • 👎 0
  • \ No newline at end of file