1. 程式人生 > 其它 >(python版)《劍指Offer》JZ02:替換空格

(python版)《劍指Offer》JZ02:替換空格

技術標籤:劍指Offer-pythonpythonleetcode演算法字串

牛客
Leetcode
在這裡插入圖片描述

【思路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)
    在這裡插入圖片描述