题目
给定一个字符类型的数组 chas[], 其右半边全部是空字符,左半边没有空字符;现在需要将左半边所有的空格space替换为 “%20”,现在的假设是右半边足够大,不需要考虑这个空间。
例如:chas = [’ ‘,’a’,’ ‘,’b’,’ ‘,’ ‘,’g’]
输出的结果是 [‘%’, ‘2’, ‘0’, ‘a’, ‘%’, ‘2’, ‘0’, ‘b’, ‘%’, ‘2’, ‘0’, ‘%’, ‘2’, ‘0’, ‘g’]

要求:时间复杂度是O(N),空间复杂度是O(1)。

代码

    def replace_space(self, str_list):  # 字符串的调整与替换,时间复杂度o(n),空间复杂度o(1)num = 1for i in xrange(0, len(str_list)):if str_list[i] == ' ':num += 1length = len(str_list) + 2 * num - 2i = k = len(str_list)while i < length:str_list.append('0')i += 1i -= 1for j in xrange(k-1, -1, -1):  # 逆序if str_list[j] == ' ':str_list[i] = "0"i -= 1str_list[i] = "2"i -= 1str_list[i] = "%"i -= 1else:str_list[i] = str_list[j]i -= 1return str_list

分析
这个问题就是不让使用一个新建的数组来存放生成的结果,所以需要逆序来处理这个问题。也就是从后往前存储生成的数组。

将字符串中的空字符全部替换为别的字符串 Python 版相关推荐

  1. 算法练习:将字符串中所有的空格替换为'%20'(只用基本数据结构)

    2019独角兽企业重金招聘Python工程师标准>>> <!-- lang: java --> package codinginterview;/*** 写一个函数,把字 ...

  2. java 替换字母_【Java项目】将字符串中的字母全部替换成字母的下一个字母

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 输入:aBxyZ 输出:bCyzA [java] view plain copy print? 1.package com.iotex; 2./** 3. ...

  3. c 语言字符串查找替换,c ++ - 如何在标准字符串中搜索/查找和替换?

    c ++ - 如何在标准字符串中搜索/查找和替换? 有没有办法用std::string中的另一个字符串替换所有出现的子字符串? 例如: void SomeFunction(std::string&am ...

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

    1. 题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. ① ...

  5. 将字符串中的字母全部替换成字母的下一个字母,要是最后一位是z或Z则替换为a或A

    第九题 功能描述:将字符串中的字母全部替换成字母的下一个字母, 要是最后一位是z或Z则替换为a或A. 输入:aBxyZ 输出:bCyzA /*** 功能描述:将字符串中的字母全部替换成字母的下一个字母 ...

  6. 编写一个程序实现将字符串中的所有“you“替换成“we“

    题目:编写一个程序实现将字符串中的所有"you"替换成"we" 输入: 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束 输出: 对 ...

  7. 程序员面试题目:请实现一个函数,把字符串中的每个空格替换成20。

    来源:我是码农,转载请保留出处和链接! 本文链接:http://www.54manong.com/?id=1223 题目:请实现一个函数,把字符串中的每个空格替换成"%20".例如 ...

  8. 键盘录入一个字符串要求长度为8不符合输出错误符合条件将字符串中所有大写字符替换成M

    键盘录入一个字符串要求长度为8不符合输出错误符合条件将字符串中所有大写字符替换成M 方式一:不使用正则 import java.util.Scanner; public class Test { pu ...

  9. c字符串中包含双引号_码哥学Python,一起解密神秘的字符串密码

    哈喽,大家好,又到了晚上学习Python的时间了,想学习python的同学可以一起哦. 字符串 由0个或多个字符组成的有序字符序列,Python中的字符串用单引号 ' 或双引号 " 括起来, ...

最新文章

  1. 树上启动式合并问题 ---- D. Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths [状态压缩+树上启发式合并]
  2. IDEA 真牛逼,900行 又臭又长 的类重构,几分钟搞定
  3. 使用JQuery实现延迟加载UserControl
  4. python socket tcp_python socket 模拟tcp通讯
  5. VisualSVN Server 不能打开文件,系统找不到指定的文件
  6. mysql多客户端数据不同步_一种多终端设备上的数据同步方法
  7. iOS 音乐播放器之锁屏效果+歌词解析
  8. STM32工作笔记0077---UCOSIII中使用串口发送数据要注意的点
  9. 【转】接口测试面试题
  10. The essentiality for Close-Out The Project
  11. 安装sikuli报错:jnius/jnius_conversion.pxi:54:31: Casting temporary Python object to non-numeric non-Pyth
  12. 高等学校计算机水平考试分值,请问计算机二级ps的考试题型和分值是怎样的?...
  13. linux动态库注册函数,linux下加载动态库函数
  14. 字体转换网站——Font Squirrel(推荐阅读)
  15. 优信二手车告急!CTO辞职,员工降薪至1700元...
  16. 坤坤老师告诉同学们什么是观察者模式
  17. 3dmax如何显示参考图_怎么在3DMAX里用外部参照做图
  18. 110kV级电力变压器系列技术参数:
  19. 新旧Klein3000侧扫声纳的指示灯使用说明
  20. Python爬取汽车之家所有车型数据,以后买车就用这个参考了

热门文章

  1. Python matplotlib 堆叠图
  2. 春学期C语言程序设计,2019年春季学期《C语言程序设计II》课程总结
  3. 323篇论文被ACM全部撤稿!放眼望去都是中国作者,原因令人无语...
  4. [小说]魔王冢(2)意乱情迷
  5. 财路网每日原创推送:区块链中的“块”是什么?
  6. 网课频遭吐槽?数据背后隐藏这些真相
  7. 如何申请专利费用减免?
  8. RT-thread应用讲解——OTA
  9. ABAP 计量单位转换
  10. SQL语句之DQL--基础查询