替換空格問題

在刷題的時候碰到替換空格問題,分享一種不同的解法。

題目描述

請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy。

解題思路

我看到的問題中,函數參數爲StringBuffer類型。我的思路是這樣的:現將StringBuffer類型的字符串轉換成String類型的,通過split函數將字符串分割成字符串數組,將分割好的字符串中間拼接上“%20”即可得到最後的結果。這樣存在一個問題就是當原字符串的結尾存在空格時,split函數不會將最後的空格分割後單獨作爲數組的一項,所以最後還需要將字符串結尾有空格的情況處理一下。

代碼

import java.util.*;
public class Solution {
    public String replaceSpace(StringBuffer str) {
        String res = new String(str);
        String[] arr = res.split(" ");
        String fin = "";
        int len = arr.length;
        for( int i=0; i<len-1; i++)
        {
            fin += arr[i]+"%20";
        }
        if(len>=1)
           fin += arr[len-1];
        //還需要考慮字符串結尾有空格的情況
        int strLen = res.length();

        for( int i=strLen-1; i>=0; i--)
        {
            if(res.charAt(i)==' ')
                fin += "%20";
            else
                break;
        }

        return fin;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章