剑指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(); } }