URL化。文字列内のすべてのスペースを に置き換えるメソッドを作成します%20
。文字列の末尾には新しい文字を保持するのに十分なスペースがあり、文字列の「本当の」長さはわかっていると想定されます。(注:Java
実装の場合は、文字配列を使用して配列を直接操作してください。)
例 1:
入力: "Mr John Smith "、13 出力: "Mr%20John%20Smith"
例 2:
入力: " "、5 出力: "%20%20%20%20%20"
コードは以下のように表示されます。
class Solution {
public:
string replaceSpaces(string S, int length) {
int count =0;
for(int i=0;i<length;i++)
{
if(S[i]==' ')
{
count++;//记录空格的个数
}
}
int newlen=length+count*2;//定义存放进字符后新的字符串的长度
S.resize(newlen);//更新字符串的长度
int i=length-1,j=newlen-1;
while(i>=0)
{
if(S[i]!=' ')//如果没有遇到空格就将字符后移,移到正确的位置上
{
S[j]=S[i];
j--;
i--;
}
else
{
S[j]='0';//遇到空格将字符插进空格里
S[j-1]='2';
S[j-2]='%';
j-=3;
i--;
}
}
return S;//返回原来的字符串
}
};