給定一個字符串,需要將其中的空格全部替換爲%20
使用從後向前遍歷的方法,如圖所示。
public static string replacestr(string str)
{
//計算空格數量
if (str == null || str.Length == 0) return str;
int count = 0;
foreach(var item in str)
{
if(item == ' ')
{
count++;
}
}
//設置i,j
// h e l l o _ w o r l d
// h e l l o % 2 0 w o r l d
int i = str.Length-1;
int j = str.Length + count*2-1;
char[] ch = new char[j+1];
while (i >= 0 && j >= i)
{
if (str[i] == ' ')
{
ch[j--] = '0';
ch[j--] = '2';
ch[j--] = '%';
}
else { ch[j--] = str[i]; }
i--;
}
return new string(ch);
}