JZ2 题解 | #替换空格#

替换空格

http://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68

题意分析

  • 这个题目的意思很简单,就是将一个字符串里面的空白字符替换成%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)  # 将这个列表转化为字符串
全部评论

相关推荐

后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
点赞 评论 收藏
分享
在debug的柠檬精很迷人:好消息:现在HR挑三拣四 15年后 HR跪着求要简历 坏消息:被挑的是这代人,到时候求人的也是这代人。真好。
点赞 评论 收藏
分享
评论
8
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务