题目要求:声明一个遍历索引,index=0,使用循环遍历数组,当遍历到一个不为零的元素时,将该元素的值赋值给nums[index],index加一个,当循环结束时,将index之后的所有元素都赋值为0。核心代码#index为0,index指向当前未定值的第一个元素,即index之前的所有元素都不为0。index=0#遍历数组,如果遇到非0的值,将这个值赋给index指向的位置foriinrange(len(nums)):ifnums[i]!=0:nums[index]=nums[i]index+=1#第一个循环结束,index之前的值是有序的且不为0,index之后的位置就是出现了多少个0,将index之后的值赋值给0forjinrange(index,len(nums)):nums[j]=0returnnums完整代码:classSolution(object):defmoveZeroes(self,nums):""":typenums:List[int]:rtype:None不返回任何东西,修改numsin-place代替。"""index=0foriinrange(len(nums)):ifnums[i]!=0:nums[index]=nums[i]index+=1forjinrange(index,len(nums)):nums[j]=0返回nums
