1 | Given an array of characters, compress it in-place. |
应该说,有点难想
- 遍历一遍,每次新的char都用
cur
标记是当前的char - 内部的
while
是因为i++
之后可能越界 - 单独的
res
, 作为结果的同时,也是“双指针”的实现的一部分 - 从前部分开始in-place修改chars没有问题, 因为compress之后肯定变短了,所以遍历的同时修改前面走过的部分没有关系
1 | public int compress(char[] chars) { |