太痛心啦,前几天忙面试,一直看面经,都把这忘啦,看面经看的都要吐了。现在续上,坚持39天啦。
题目
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
代码
class Solution {
public void moveZeroes(int[] nums) {
if(nums==null)
return ;
if(nums.length==1)
return ;
int left=0;int right=1;
for(right=left;right<nums.length;right++)
{
if(nums[right]==0)
continue;
nums[left++]=nums[right];
}
while(left<nums.length)
{
nums[left++]=0;
}
//System.out.println(nums);
return ;
}
}
反思
双指针的典型运用。在原数组的基础上修改