返回顶部

收藏

o(n)时间复杂度替换字符串中空格为%20

更多
class offer_book:
    def replaceBlank( p_str, rpl_str ):
        blank = ' '
        numOfBlank = 0
        originalLen = len( p_str )
        for char in p_str:
            if char == blank:
                numOfBlank += 1
        originalIndex = originalLen - 1
        newLen = originalLen + numOfBlank * ( len( rpl_str ) - len( blank ) )
        newIndex = newLen - 1
        newStr = [ blank ] * newLen
        while originalIndex >= 0:
            if p_str[ originalIndex ] == blank:
                newStr[ newIndex ] = '0'
                newIndex -= 1
                newStr[ newIndex ] = '2'
                newIndex -= 1
                newStr[ newIndex ] = '%'
                newIndex -= 1
            else:
                newStr[ newIndex ] = p_str[ originalIndex ]
                newIndex -= 1
            originalIndex -= 1
        return str( newStr )

newStr = offer_book.replaceBlank( ' we are happy! ', '%20' )
print( newStr )

标签:python

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. fox64194167 发表 2018-05-26 22:31:24 python 找不同 Find the Difference
  2. fox64194167 发表 2018-05-26 23:35:27 python 两个数组的交集 intersection of two arrays
  3. fox64194167 发表 2018-05-26 23:53:35 python 寻找重复的数
  4. fox64194167 发表 2018-05-27 00:12:22 python 搜索插入位置
  5. fox64194167 发表 2018-05-27 11:50:16 python *args **kwargs
  6. fox64194167 发表 2018-05-27 11:58:49 python enumerate
  7. 博主 发表 2018-05-26 10:51:09 SQLAlchemy 使用自定义 Query 类
  8. fox64194167 发表 2018-05-25 23:13:20 python plotly 进行数据可视化
  9. fox64194167 发表 2018-05-26 03:16:38 python lambda
  10. fox64194167 发表 2018-05-26 05:38:48 python 正则表达式
  11. fox64194167 发表 2018-05-26 06:22:33 python 使用 redis
  12. fox64194167 发表 2018-05-26 06:49:56 python 单例

发表评论