1. 程式人生 > >劍指offer Python版 - 替換空格

劍指offer Python版 - 替換空格

題目描述

請實現一個函式,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。

問題1:替換字串,是在原來的字串上做替換,還是可以重新定義一個字串做替換:

問題2:從前往後替換和從後往前替換一樣嗎?


方法1:

從左往右遍歷元素,若當前元素為空格,則插入“%20”, 並將字串長度增加3. 時間複雜度O(n * n).

# -*- coding:utf-8 -*-
class Solution:
    # s 源字串
    def replaceSpace(self, s):
        # write code here
        position = 0
        while position < len(s):
            if s[position] == ' ':
                s = s[:position] + '%20' + s[position + 1:]
                position += 3
            else:
                position += 1
        return s

執行時間:23ms

佔用記憶體:5736k


方法2:

時間複雜度O(n * n)
# -*- coding:utf-8 -*-
class Solution:
    # s 源字串
    def replaceSpace(self, s):
        # write code here
        s = list(s)
        for i in range(len(s)):
            if s[i] == ' ':
                s[i] = '%20'
        return ''.join(s)

執行時間:23ms

佔用記憶體:5736k