@【leetcode】剑指offer05 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
限制:
0 <= s 的长度 <= 10000
解答:
1.在python,java等语言中,字符串类型为不可变类型,因此需要新建一个字符串,再对原来的进行遍历判断。
class solution:
def replaceSpace(self,s:str)->str:
res []
for c in s:
if c==' ' :res.append("%20")
else res: res.append(c)
return "".join(res)
2.在C++中,字符串为可变类型,直接在原数据进行修改
class solution
{
public:
string replaceSpace(String s)
{
for(char c:s)
{
if(c==' ')
{int count=0;count++;}
}
len=s.size();
s.resize(len+2*count);
for(int i = len - 1, j = s.size() - 1; i < j; i--, j--)
{
if (s[i] != ' ')
s[j] = s[i];
else
{
s[j - 2] = '%';
s[j - 1] = '2';
s[j] = '0';
j -= 2;
}
}
return s;
}
}