文章來源:http://www.zghlxwxcb.cn/news/detail-662143.html
?這道題還是很簡(jiǎn)單的,我用的是雙指針,左指針i從頭開始遍歷數(shù)組,右指針j是從i后面第一個(gè)數(shù)開始遍歷,當(dāng)左指針i等于0的時(shí)候,右指針j去尋找i右邊第一個(gè)為0的數(shù)和i交換位置,交換完了就break內(nèi)層循環(huán),i往后移1位,j又從i的下一位開始,如果i不等于0,就不用進(jìn)內(nèi)層循環(huán)了,直接break內(nèi)層,i往后移一位,這樣數(shù)組的順序沒變,并且0全在后面,還是非常簡(jiǎn)單的,以下是我的代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-662143.html
class Solution {
public void moveZeroes(int[] nums) {
int zeroNum=0;
int n = nums.length;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(nums[i] == 0){
while(j<n-1 && nums[j] == 0){
j++;
}
nums[i] = nums[j];
nums[j] = 0;
}break;
}
}
}
}
到了這里,關(guān)于LeetCode283.移動(dòng)零的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!