剑指 Offer 05. 替换空格

题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

又是对字符串的操作。

题解:

1.使用 StringBuilder 对象存储替换后的字符串,返回结果为 newstr.toString(),toString():返回此序列中数据的字符串表示形式。

对字符串 s (使用 toCharArray() 转换为字符数组)进行遍历循环一次,使用 for 增强循环,变量  Character: c ,当 c 为 " " 时,使用 append() 方法添加 "%20" 到新的字符串,否则直接添加 c。


2.使用字符数组  

获取 s 的长度 length,创建字符数组 array, 长度为 length*3

初始化 size 为 0 ,size 代表 array 的长度

遍历  s ,

    获取 s 的当前字符c =  s.charAt(i),如果 等于 ' ' , 则用 array[size++] 添加 “%“,”2",“0”;

否则,添加 c。

将 array 转换为 字符串输出。

String newstr = new String(array,0,size);


时间复杂度:O(n)

空间复杂度:O(n)

    

你可能感兴趣的:(剑指 Offer 05. 替换空格)