力扣刷题——替换空格

171 阅读2分钟

「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

前言

算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!

第一遍,不求最优解,但求能过!!!

💗 一、题目描述 💗

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:

输入:s = "We are happy."

输出:"We%20are%20happy."

限制:

0 <= s 的长度 <= 10000

来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/ti… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

💁 二、题目解析 💁

  • 一个简单地字符串题型💁

  • 要求将空格替换成%20💁

  • 先判断字符串是否为空,为空返回空字符串💁

  • 创建空字符串str

  • 以a遍历字符串s

  • 如果为空格,就将%20拼接到str

  • 如果不为空格就将a拼接到str

  • 遍历完成,返回str

  1. python内置replace函数

    str.replace(a,b) a为字符串中原有的值,b为要替换的值

    需要注意的是,这个函数需要一个变量接收,因为其不会对原字符串改动

  2. join内置函数

    ''.join(a) 前面什么都不放是将列表a的元素合并为字符串

    ' '.join(a)是以空格为界限将列表a的元素合并为字符串

    定义一个空列表

    遍历字符串

    ​ 如果是空格就将%20添加进列表

    ​ 如果不是,就将原来的字符添加进去

    返回经过join函数处理的字符串

🏃 三、代码 🏃

☁️ 1️⃣. python ☁️

  1. class Solution:
        def replaceSpace(self, s: str) -> str:
            _str = ""
            if s=="": return ""
            for a in s:
                if a==' ': _str+="%20"
                else: _str+=a
            return _str
    
  2. class Solution:
        def replaceSpace(self, s: str) -> str:
            _str = s.replace(' ', '%20')
            return _str
    
  3. class Solution:
        def replaceSpace(self, s: str) -> str:
            res = []
            for c in s:
                if c == ' ': res.append("%20")
                else: res.append(c)
            return "".join(res)
    
    
    

❄️ 2️⃣. C# ❄️

public class Solution {
    public string ReplaceSpace(string s) {
        string str = "";
        if(s=="") return "";
        foreach(char a in s){
            if (a==' '){
                str+="%20";
            }else{
                str+=a;
            }
        }
        return str;
    }
}

🌔 结语 🌔

坚持最重要,每日一题必不可少!