剑指offer之替换空格
问题描述:
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
求解一:
使用Java中String类的replace函数,可实现。注:replace函数不对字符串本身进行处理,而是返回一个新的已经替换完毕的数组。
public class Solution {
public String replaceSpace(StringBuffer str) {
return str.toString().replace(" ","%20");
}
}
求解二:
用新的StringBuffer存替换后的字符串,遍历原始StringBuffer遇到空格则append%20.
public class Solution {
public String replaceSpace(StringBuffer str) {
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length(); i++){
if(str.charAt(i) == ' '){
sb.append("%20");
}
else{
sb.append(str.charAt(i));
}
}
return sb.toString();
}
}