题目
思路
解法一
这道题需要注意,对于Java、C#这类语言来说,字符串是不可变的,所有对字符串的修改操作都是返回了一个新的字符串对象。而C++则是可变的。
这里使用C#实现,只能新建一个字符串返回。可以使用StringBuilder避免反复创建字符串的开销。
代码如下
public string ReplaceSpace(string s)
{
StringBuilder builder = new(s.Length);
foreach (var t in s)
{
if (t.Equals(' '))
{
builder.Append("%20");
}
else
{
builder.Append(t);
}
}
return builder.ToString();
}