对一个数组[5,0,9,5,0,8]修改为[5,9,5,8,0,0]
使用双指针算法:
1、单循环i,外部定义j=0
2、循环操作:
1、当i值不为0时,把i值赋值给j索引
2、j++
3、相当于把不为0的数,一个个的赋值到对应索引,为0时不操作
4、最后j的值即为不为0的个数
3、退出循环之后,可以直接将length-j,length范围内的下标赋值为0
两步:把不为0的数一个一个往前挪,给后面的数赋值0;
利用双指针一步步往前挪的想法很重要,指针1循环数组,指针2保存挪动去往的索引;