题目:
力扣出处
URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)
示例1
输入:"Mr John Smith ", 13
输出:"Mr%20John%20Smith"
示例2
输入:" ", 5
输出:"%20%20%20%20%20"
提示:字符串长度在[0, 500000]范围内。
题解思路:
想法是遍历每一个字符串中的元素,如果遍历的元素是空格字符(’ '),则化为%20
,否则直接加在新的字符串后面,在这里需要熟悉对于字符串添加元素等各种操作,c++解答代码如下:
class Solution {
public:
string replaceSpaces(string S, int length) {
string S1;
for(int i=0; i < length; ++i)
{
if( S[i] == ' ' )
S1.append("%20");
else
{
S1 += S[i];
}
}
return S1;
}
};