方法一:数零覆盖法
解题思路:使用循环数出0的个数,把非零数按照顺序重新覆盖数组,剩下几个零就在末尾补几个零。
方法二:双指针法
使用双指针,左右指针初始化为0,当右指针指向的数不为0时,交换左右指针的值,并且左指针右移一位,保证左指针指向的值的左边都是非零数;当右指针指向的数为0时,右指针右移,继续搜寻不为0的数字。这zuozhizhen个方法保证了右指针顺序获取非零数然后交换到左指针之前。
解题思路:使用循环数出0的个数,把非零数按照顺序重新覆盖数组,剩下几个零就在末尾补几个零。
使用双指针,左右指针初始化为0,当右指针指向的数不为0时,交换左右指针的值,并且左指针右移一位,保证左指针指向的值的左边都是非零数;当右指针指向的数为0时,右指针右移,继续搜寻不为0的数字。这zuozhizhen个方法保证了右指针顺序获取非零数然后交换到左指针之前。