劍指offer 牛客網 面試題3:數組中重複的數字

法一

直接replace將空格替換
關鍵:replacehtml

https://www.yiibai.com/java/l...
public class Solution {
   public String replaceSpace(StringBuffer str) {
        String string = str.toString();
        String str2 = string.replaceAll(" ","%20");
        return str2;
    }
}

法二

用setlength方法,先設置StringBuffer長度java

public class Solution {
   public String replaceSpace(StringBuffer str) {
        int p1,p2;
        int n = 0;
        for (int i = 0; i < str.length(); i++)
            if(str.charAt(i) == ' ')
                n++;
        p1 = str.length() - 1;
        p2 = str.length() - 1 + n*2;
        str.setLength(str.length() + n*2);
        while(p1 < p2 && p1 >= 0){
            if(str.charAt(p1) != ' ') {
                str.replace(p2, p2+1, String.valueOf(str.charAt(p1)));
                p2--;
            }
            else {
                str.replace(p2-2,p2+1,"%20");
                p2 = p2 - 3;

            }
            p1--;
        }
        return str.toString();
    }
}

法三

新建一個數組,直接遍歷,遇到空格就替換數組

相關文章
相關標籤/搜索