一、反转字符串
二、替换空格
替换空格以后,字符串所占的长度会比原字符串多,所以我们首先需要扩充数组到每个空格替换成“%20”之后的大小。然后从后向前替换空格,(双指针法)
一个指针指向新长度的末尾,一个指针指向旧长度的末尾
之所以选择从后向前,是因为从前向后填充是O(n^2)的算法,因为每次添加元素都要将添加元素之后的所有元素向后移动。
注:很多数组填充类的问题,都可以预先给数组扩容到填充后的大小,然后再从后向前进行操作。
1)不用申请新的数组。
2)从后向前填充元素,避免了从前向后填充元素造成的每次添加元素都要将添加元素之后的所有元素向后移动。
三、颠倒字符串中的单词
<