標籤:rgs color == bsp space log null 字元 eof
請實現一個函數,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。
注意從後向前替換,使得時間複雜度為O(n);
public class Main { public static void main(String[] args) { Main main01=new Main(); String str=main01.replaceSpace(new StringBuffer("old string")); System.out.println(str); } public String replaceSpace(StringBuffer str) { if(str==null || str.length()<0){ return null; } //求字串的實際長度和空格的數目 int oldStrNum=0,blanckNum=0; int i=0; while(i<str.length()){ oldStrNum++; if(str.charAt(i)==‘ ‘){ blanckNum++; } i++; } int newStrNum=oldStrNum+2*blanckNum; int oldStrIndex =oldStrNum-1, newStrIndex=newStrNum-1; char newCharArr[]=new char[newStrNum]; while(oldStrIndex>=0){ if(str.charAt(oldStrIndex)==‘ ‘){ newCharArr[newStrIndex--]=‘0‘; newCharArr[newStrIndex--]=‘2‘; newCharArr[newStrIndex--]=‘%‘; }else{ newCharArr[newStrIndex--]=str.charAt(oldStrIndex); } oldStrIndex--; } String newStr=String.valueOf(newCharArr); return newStr; }}
面試題5:請實現一個函數,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。