1、前言
题目描述2、思路
这里使用快速排序的思路,只不过快排有 less、more 两个区间,这边只要 less 即可,将大于0或者小于0的数都移到 less 那边。
3、代码
class Solution {
public void moveZeroes(int[] nums) {
if(nums == null || nums.length == 0){
return;
}
int less = -1, L = 0;
while(L < nums.length){
if(nums[L] < 0 || nums[L] > 0){
swap(nums, L++, ++less);
}else {
L++;
}
}
}
private void swap(int[] nums, int i, int j){
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
网友评论