LeetCode第283題

描述:

給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。

示例:

輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]

解題思路:遍歷數組,將所有非0的數依次放到數組的前面,遍歷完成後,假設非0的元素的個數爲i個,數組元素爲n,再次遍歷數組n-i次,將數組中剩餘的其他位置置爲0,這種思路也是比較簡單可行的。代碼如下:

public void moveZeroes(int[] nums){
		int j=0;
		for(int i=0;i<nums.length;i++){
			if(nums[i] != 0){
				nums[j]=nums[i];
				j++;
			}
		}
		for(int k=j;k<nums.length;k++){
			nums[k]=0;
		}
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章