1、算法原理:声明快慢两个数组索引指针,同时向前移动,如果当前元素等于 0 ,则慢索引停止(指向第一个为 0 的元素),快索引不停,如果当前元素不等于 0, 则和慢索引元素交换,慢索引向前移动1位即可。

2、编写测试代码。

3、运行测试代码,观察控制台输出,符合预期,本地测试通过。

4、平台提交算法,测试通过。

5、算法复杂度总结:该算法只需遍历两遍数组,因此时间复杂度为 O(n),n 为数组长度,没有借助其余数据结构进行辅助操作,空间复杂度为 O(1)。

时间:2024-10-27 21:35:21
1、算法原理:声明快慢两个数组索引指针,同时向前移动,如果当前元素等于 0 ,则慢索引停止(指向第一个为 0 的元素),快索引不停,如果当前元素不等于 0, 则和慢索引元素交换,慢索引向前移动1位即可。
2、编写测试代码。
3、运行测试代码,观察控制台输出,符合预期,本地测试通过。
4、平台提交算法,测试通过。
5、算法复杂度总结:该算法只需遍历两遍数组,因此时间复杂度为 O(n),n 为数组长度,没有借助其余数据结构进行辅助操作,空间复杂度为 O(1)。