栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

offer 第5题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

offer 第5题

前言

该系列文章为本人刷leetcode的记录,主要旨在分享刷题的思路及算法解析(尽可能的一题多解),另方便自己日后查阅回顾。代码的实现语言是python和go。

进厂免不了刷题,一起加油吧,小伙伴们!

(最近几个月一直在忙小论文的仿真和撰写;最近总算写完初稿了交给老师了。至于能中几区就看运气了哈哈)

题目 offer 第5题

链接: https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/

题目内容

替换空格

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

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."

限制:

0 <= s 的长度 <= 10000
解题思路

分析: 该题就是常规的字符串替换

容易想到的思路:

1.直接调用库函数replace对字符串s中的空格进行替换

2.暴力解法:循环遍历每个字符判断为空格的直接进行替换

3:字符串直接以空格为界限转切片,再加上“%20”进行拼接(split(), Join()函数)

代码实现 python
  def replaceSpace(self, s: str) -> str:
     
        #方法1:使用replace库函数
        s_new = s.replace(' ',"%20")


        #方法2:字符串转切片;因为字符串可能很长,转切片后会好操作一些; 之后再加上"%20"进行拼接
        # s1 = s.split(" ")
        # s_new = "%20".join(s1)#join()的用法需要注意.是将xx加到切片中的两个元素之间.

        #方法3:遍历解法
        # s_new = ""
        # i = 0
        # while i  
go 
func replaceSpace(s string) string{
   //方法1:使用replace库函数
   //s_new := strings.Replace(s," ","%20",-1)//返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。
   //s_new := strings.ReplaceAll(s," ", "%20")



   //方法2:先以空格为界限切割为切片,再加上"%20"进行拼接
   //s_slice := strings.Split(s," ")
   //s_new := strings.Join(s_slice,"%20")

   //遍历修改
   s_slice := []byte{} //这种也是相当于初始化了;和make([]byte,0)一个作用.go中切片的初始化也有坑;等遇见那道题再补充
   for i:=0; i  
总结 

注意在go中[]byte转string使用string([]byte). 反过来string转[]byte使用[]byte(string).

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号