剑指offer:替换空格
生活随笔
收集整理的這篇文章主要介紹了
剑指offer:替换空格
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
替換空格
請實現一個函數,把字符串 s 中的每個空格替換成"%20"。
示例 1:
輸入:s = “We are happy.”
輸出:“We%20are%20happy.”
限制:
0 <= s 的長度 <= 10000
來源:力扣(LeetCode)–替換空格
解題
方法一:內置函數
使用python內置函數 replace()
str.replace(old, new[, max])
Python replace() 方法把字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個參數max,則替換不超過 max 次。
old – 將被替換的子字符串。
new – 新字符串,用于替換old子字符串。
max – 可選字符串, 替換不超過 max 次
返回字符串中的 old(舊字符串) 替換成 new(新字符串)后生成的新字符串,如果指定第三個參數max,則替換不超過 max 次。
方法二:遍歷添加
創建一個新的字符串,依次匹配字符,如果字符為空,則替換并放入新字符串中;如果字符不為空則直接放入新字符串中。
# python class Solution:def replaceSpace(self, s: str) -> str:# 方法二:str_ = ''for i in s:if i == ' ':i ='%20'str_ = str_ + ireturn str_ // java class Solution {public String replaceSpace(String s) {StringBuilder res = new StringBuilder();for(Character c : s.toCharArray()){if(c == ' ') res.append("%20");else res.append(c);}return res.toString();} }復雜度分析:
時間復雜度:O(N)O(N)O(N)
空間復雜度:O(N)O(N)O(N),新建字符串使用了線性大小的額外空間。
Java、python中的字符串
在 Python 和 Java 等語言中,字符串都被設計成不可變的類型,即無法直接修改字符串的某一位字符,需要新建一個字符串實現。
| java | +、StringBuilder.append() | |
| python | +、list.append() and ’ '.join(list) | +適用于較少字符串;list、join()適用于較多字符串的拼接 |
參考文章:
總結
以上是生活随笔為你收集整理的剑指offer:替换空格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二进制异或--7.18待完善
- 下一篇: MatLab基础设置