替换字符串比较常用的方法是双指针
为了节省空间,可以用到的一个方法是扩充数组,再用双指针倒序遍历,从后往前填充扩容后的数组(因为如果从前往后填充,每填充一次都要将后面的所有元素向后移动,复杂度会编程O(n^2))
替换数字https://kamacoder.com/problempage.php?pid=1064
这道题就使用到了这种方法,避免了申请新的数组。注意strlen得到的是字符串的大小而不是memory的大小
字符串的翻转在双指针的基础上还有一些技巧,例如先整体反转再局部反转,翻转单词和左/右旋转字符串都用到了这个技巧