替换空格——jzoffer

题目:请实现一个函数,把字符串中的每个空格替换成“%20”,例如,输入“We are happy.”,则输出“We%20are%20happy.”。

背景:在网络编程中,如果URL参数中含有特殊字符,如空格,‘#’等,则可能导致服务器端无法获得正确的参数值,需要将其转换,规则是在‘%’后面跟上ASCII码的两位十六进制表示,比如空格的ASCII码为32,即十六进制的0x20,因此空格被替换为‘%20’。

# pythonic的方法
class Solution:
    def change_blank_a(self, s):
        if s is not None:
            return '%20'.join(s.split(' '))
    
    def change_blank_b(self, s):
        if s is not None:
            return s.replace(' ', '%20')
        
# 通过数组的查找移动完成
class Solution:
    def change_blank(self, s):
        if s is None:
            raise Exception("wrong")
        s = list(s)
        count = 0
        length = 0
        for i in s:
            length += 1
            if i is ' ':
                count += 1
        new_length = length + 2 * count
        s = s + [None] * 2 * count
        p = length - 1
        q = new_length - 1
        while p >= 0 and q >= 0:
            if s[p] is not ' ':
                s[q] = s[p]
                p -= 1
                q -= 1
            else:
                s[q-2:q+1] = '%20'
                p -= 1
                q -= 3
        return ''.join(s)
               
            
                
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 洋洋洒洒的,今天终于把这本书啃完了。 结尾意犹未尽,意料之中,却也可说是措手不及。 老实说,这本书,非议论文,非散...
    小小小晓晓晓阅读 1,175评论 2 0
  • 没关系阿 我病了可以自己扛 我累了可以自己给自己拥抱 我伤心了可以自个安慰 我无聊了可以自个玩 我怕黑可以自己幻想...
    x病娇卷发萝莉阅读 115评论 0 0
  • 谈判官大结局了,为着谈判二字追剧,可惜发现我高估了我的智商,我应该追谍战剧的。匆匆拖了几集粗略看了,当然我自认为自...
    顾念耳阅读 1,106评论 3 4
  • 我们每个人能聚在一起不容易,要懂得珍惜! 那一天…… 看小说,追剧,逛街……是我们每个人要独自完成的事。...
    我就想要个酷酷的昵称ya阅读 577评论 3 2

友情链接更多精彩内容