题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
代码:
蠢方法,直接使用StringBuilder 遍历遇到空格,直接append %20 ,遍历结束,即完成
public class Solution {public String replaceSpace(StringBuffer str) {StringBuilder sb = new StringBuilder();for (int i = 0; i < str.length(); i++) {if (str.charAt(i) == ' ') {sb.append("%20");} else {sb.append(str.charAt(i));}}return new String(sb);}}
代码
先判断出字符串中有多少空格,构造新字符串
string replaceSpace(string s) {int count = 0, len = s.size();for (char c : s) {if (c == ' ') {count += 1;}}s.resize(len + 2 * count);for (int i = len - 1, j = s.size() - 1; i < j; i--, j--) {if (s[i] != ' ') {s[j] = s[i];} else {s[j] = '0';s[j - 1] = '2';s[j - 2] = '%';j -= 2;}}return s;}
