【怒撕剑指Offer】系列旨在用最通俗易懂的语言与动画讲解算法,培养逻辑思维,让你在互联网面试过程中不再畏惧手撕算法。
1 题目描述
将字符串中的空格替换成"%20"。
输入:s = "We are happy."
输出:"We%20are%20happy."
2 解题思路
有两种比较好的解决方法,第一种是直接开辟一个新的数组,然后从前向后遍历,依次将原字符串中的字符添加进数组中,如果遇到空格,则添加 %20
三个字符,这种方法的时间复杂度为 O ( n ) O(n) O(n),因为开辟了新的空间,额外空间复杂度也为 O ( n ) O(n) O(n)。
另外一种,空间复杂度为 O ( 1 ) O(1)