博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(python版)《剑指Offer》JZ02:替换空格
阅读量:4089 次
发布时间:2019-05-25

本文共 547 字,大约阅读时间需要 1 分钟。

在这里插入图片描述

【思路1】replace函数

class Solution:    def replaceSpace(self, s: str) -> str:        return s.replace(' ','%20')

在这里插入图片描述

【思路2】遍历添加

算法流程:

  1. 初始化一个 list (Python) / StringBuilder (Java) ,记为 res ;
  2. 遍历列表 s 中的每个字符 c :
    • 当 c 为空格时:向 res 后添加字符串 “%20” ;
    • 当 c 不为空格时:向 res 后添加字符 c ;
  3. 将列表 res 转化为字符串并返回。
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)
  • 时间复杂度 O(N) : 遍历使用 O(N) ,每轮添加(修改)字符操作使用 O(1) ;
  • 空间复杂度 O(N)
    在这里插入图片描述

转载地址:http://ffjii.baihongyu.com/

你可能感兴趣的文章
DirectX11 三种光照组成对比
查看>>
DirectX11 指定材质
查看>>
DirectX11 平行光
查看>>
DirectX11 点光
查看>>
DirectX11 聚光灯
查看>>
DirectX11 HLSL打包(packing)格式和“pad”变量的必要性
查看>>
DirectX11 光照演示示例Demo
查看>>
漫谈一下前端的可视化技术
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Vue+webpack构建单页router应用(二)
查看>>
从头开始讲Node.js——异步与事件驱动
查看>>
Node.js-模块和包
查看>>
Node.js核心模块
查看>>
express的应用
查看>>
NodeJS开发指南——mongoDB、Session
查看>>
Express: Can’t set headers after they are sent.
查看>>
2017年,这一次我们不聊技术
查看>>
实现接口创建线程
查看>>
Java对象序列化与反序列化(1)
查看>>
HTML5的表单验证实例
查看>>