提交 7346473e 编写于 作者: L lucifer

feat: 优化文字

上级 69bf82a2
......@@ -34,17 +34,17 @@ https://leetcode-cn.com/problems/move-zeroes/
## 思路
如果题目没有要求 modify in-place 的话,我们可以先遍历一遍将包含 0 的和不包含 0 的存到两个数组,
然后拼接两个数组即可。 但是题目要求 modify in-place, 也就是不需要借助额外的存储空间,刚才的方法
空间复杂度是 O(n).
如果题目没有要求 modify in-place 的话,我们可以先遍历一遍将包含 0 的和不包含 0 的存到两个数组,然后拼接两个数组即可。 但是题目要求 modify in-place, 也就是不需要借助额外的存储空间,刚才的方法空间复杂度是 O(n).
那么如果 modify in-place ,空间复杂度降低为 1 呢?
其实可以借助一个游标记录位置,然后遍历一次,将非 0 的原地修改,最后补 0 即可。
其实可以使用**读写双指针**来做。具体来说使用一个慢指针表示写指针,快指针表示读指针。
具体来说:读指针不断往后移动。如果遇到非 0,则将读到的值写入写指针,触发写指针移动(其他情况写指针不动),读指针走到头算法结束。经过这样的处理,最终写指针的位置前面就是所有的非 0 数了, 最后将写指针后的 位置全部修改为 0 即可。
## 关键点解析
- 双指针
- 读写双指针
## 代码
......
......@@ -34,6 +34,10 @@ https://leetcode-cn.com/problems/unique-binary-search-trees/
- 百度
- 字节
## 岗位信息
- 腾讯(广州)- 安卓 - 社招 - 三面
## 思路
这是一个经典的使用分治思路的题目。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册