题目描述:

解题:
我们可以先定义两个指针,一个快指针(cur),一个慢指针(dest),让快指针指向这个数组的下标为0的位置,慢指针指向数组下标为-1的位置。让快指针(cur)先走,当 cur 遇到零元素时继续向后走,当 cur 遇到非零元素时,先 dest 走一步,再让cur位置的元素和dest位置的元素进行交换。当 cur 等于数组元素个数时完成循环。

总结:
遇到一个问题时,先想清楚使用什么样的方式进行解答(不是先上来就要开始想代码如何写),然后一定要进行画图(重要),先在画图中总结最普遍的方法,然后再寻找特殊的情况。最后进行代码的编写。