【劍指offer】面試題 5. 替換空格
阿新 • • 發佈:2018-05-12
pla AC append replace for turn app null string
面試題 5. 替換空格
題目:請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串為We Are Happy.
則經過替換之後的字符串為We%20Are%20Happy。
實現代碼
public class Solution { public String replaceSpace(StringBuffer str) { if(str==null||str.length()==0) return str==null?null:str.toString(); int oldLen = str.length(); for(int i=0;i<oldLen;i++){ if(str.charAt(i)==' '){ str.append(" ");//每遇到一個空格,添加兩個空格來補充 } } int newLen = str.length(); int p1 = oldLen - 1,p2 = newLen - 1; while(p1>=0&&p2>p1){ char c = str.charAt(p1--); if(c==' '){ str.setCharAt(p2--, '0'); str.setCharAt(p2--, '2'); str.setCharAt(p2--, '%'); }else{ str.setCharAt(p2--, c); } } return str.toString(); } }
【劍指offer】面試題 5. 替換空格