【剑指Offer 2.替换空格】|刷题打卡

103 阅读1分钟

目录

  • 题目描述
  • 思路分析
  • AC 代码
  • 总结

掘金团队号上线,助你 Offer 临门! 点击 查看详情

一、题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

示例1

输入

"We Are Happy"

返回值

"We%20Are%20Happy"

二、思路分析

难度:较难

替换字符串中的空格,题意理解起来还是非常明确的,最简单的操作就是顺序遍历字符串中的每一字符,判断是不是空格,然后替换拼接,这个过程中需要注意的是非空格字符的转换和拼接问题。字符要先转换成字符串才能拼接到目标串中。

三、AC 代码

语言:Go

代码:

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return string字符串
*/
func replaceSpace( s string ) string {
    var res string
    for i := 0; i < len(s); i++ {
        if s[i] == ' ' {
            res += "%20"
        } else {
            res += string(s[i])
        }
    }
    return res
}

通过截图:

image.png

四、总结

该题的知识点属于字符串。上面的方法时间复杂度是O(n),因为需要遍历字符串。空间复杂度是O(n),因为需要创建一个新的目标字符串再返回。