题目:请实现一个函数,把字符串 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)