南阳网站建设域名公司,WordPress文章添加动态背景,宁波seo外包公司,建设网站需要的资料给定一个数组 nums#xff0c;编写一个函数将所有 0 移动到数组的末尾#xff0c;同时保持非零元素的相对顺序。
请注意 #xff0c;必须不复制数组的情况下原地对数组进行操作。
示例 1:
输入: nums [0,1,0,3,12]
输出: [1,3,12,0,0]示例 2:
输入: nums [0]
输出: [0…给定一个数组 nums编写一个函数将所有 0 移动到数组的末尾同时保持非零元素的相对顺序。
请注意 必须不复制数组的情况下原地对数组进行操作。
示例 1:
输入: nums [0,1,0,3,12]
输出: [1,3,12,0,0]示例 2:
输入: nums [0]
输出: [0]
class Solution {public void moveZeroes(int[] nums) {// 去除 nums 中的所有 0// 返回去除 0 之后的数组长度int p removeElement(nums);// 将 p 之后的所有元素赋值为 0for (; p nums.length; p) {nums[p] 0;}}// 快慢指针int removeElement(int[] nums) {int fast 0, slow 0;while (fast nums.length) {if (nums[fast] ! 0) {nums[slow] nums[fast];slow;}fast;}return slow;}
}
之前写while循环时遇到一个小问题在c语言中while1没有任何问题但是在Java里面是不可以的Java里面一般用whiletrue