[LeetCode-インタビュー01.03]のURLを

対象の説明:

のURL。調製方法は、文字列内のすべてのスペースを20%に置き換えられます。文字列の最後には、新しい文字を格納するのに十分なスペースがあることを想定し、「本物」の長さの文字列ことを知っています。(注:Javaで実装されている場合、アレイ上で直接動作するために達成するために、文字の配列を使用します。)

示例1:
输入:"Mr John Smith    ", 13
输出:"Mr%20John%20Smith"

示例2:
输入:"               ", 5
输出:"%20%20%20%20%20"

提示:
字符串长度在[0, 500000]范围内。

II。説明

1.方法

(1)問題解決のアイデア:

  • 新しいStringBuilderのSBを作成します。
  • ループトラバーサル、長未満で終了するため
  • 文字列Sのi番目の文字を横断
  • 文字が空白の場合は、新しい要素に20%SB
  • それ以外の場合は、Sのi番目の要素は後からSBを追加しました
  • サイクルの終わりには、文字列の中にSBに戻ります

(2)コード:

public static String replaceSpaces(String S,int length){
    StringBuilder sb = new StringBuilder();

    for(int i=0;i<length;i++){
       if(S.charAt(i)==' '){
           sb.append("%20");
       }else {
           sb.append(S.charAt(i));
       }
    }
    return sb.toString();
}
2.方法2:

(1)問題解決のアイデア:

  • 文字列が撮影した宇宙の背後にある,,に加えて、文字列を変換するようことが知られている背景には
  • 文字列は、その後、採取した後に、20%のスペースに置き換えられています

(2)コード:

public static String replaceSpaces2(String S,int length){
    String s1 = S.substring(0,length);
    String s2 = S.replaceAll(" ","%20");
    return s2;
}
公開された18元の記事 ウォンの賞賛0 ビュー462

おすすめ

転載: blog.csdn.net/aflyingcat520/article/details/105340582