题意分析
- 这个题目的意思很简单,就是将一个字符串里面的空白字符替换成%20
解法分析
解法一 C++版
我们直接使用C++的string进行处理。我们发现C++里面有一个string还是很好用的,它重载了+=运算符。我们可以直接通过遍历整个字符串进行处理。
代码如下
- 我们需要对长度为n的字符串遍历一次,时间复杂度为O(n),
- 需要存储长度为n的字符串,空间复杂度为O(n)
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串
*/
string replaceSpace(string s) {
// write code here
string ans="";
// 直接对字符串进行遍历
for(auto x:s){
// 对空白字符进行替换
if(x==' '){
ans+="%20";
// 否则不进行处理
}else{
ans+=x;
}
}
return ans;
}
};解法二 Python的实现
- python的写法和C++的写法类似,可以参考一下。
- 代码如下
- 需要对长度为n的字符串进行遍历,时间复杂度为O(n)
- 需要存储长度为n的字符串,空间复杂度为O(n)
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param s string字符串
# @return string字符串
#
class Solution:
def replaceSpace(self , s ):
# write code here
# 定义一个空的列表
ans=[]
for x in s:
# 判断为空的情况
if x==' ':
ans.append('%20')
else:
ans.append(x)
return "".join(ans) # 将这个列表转化为字符串
京公网安备 11010502036488号