演算法 替換空格

2022-07-26 20:57:11 字數 1856 閱讀 9592

使用python自帶的replace方法。

#

-*- coding:utf-8 -*-

#-*- python3.6.6 -*-

#-*- jlutiger -*-

#-*- 替換空格 -*-

class

solution:

#s 源字串

defreplacespace(self, s):

#write code here

return s.replace("

","%20")

if__name__=="

__main__":

s="we are famliy

"answer =solution().replacespace(s)

print(answer)

對空格使用split,再使用「%20」連線。

class

solution:

#s 源字串

defreplacespace(self, s):

#write code here

return

'%20

'.join(s.split(''))

if__name__=="

__main__":

s="we are famliy

"answer =solution().replacespace(s)

print(answer)

由於替換空格後,字串長度需要增大。先掃瞄空格個數,計算字串應有的長度,從後向前乙個個字元複製(需要兩個指標)。這樣避免了替換空格後,需要移動的操作。

class

solution:

#s 源字串

defreplacespace(self, s):

#write code here

#計算有多少個空格

num_space =0

for i in

s:

if i == '':

num_space += 1

#新的字串的長度

new_length = len(s) + 2 *num_space

index_origin = len(s) - 1index_new = new_length - 1

#新的字串

new_string = [none for i in

range(new_length)]

#按照從後往前的順序將%20填入

while index_origin >= 0 & (index_new >index_origin):

if s[index_origin] == '':

new_string[index_new] = '0'

index_new -= 1new_string[index_new] = '2'

index_new -= 1new_string[index_new] = '%'

index_new -= 1

else

: new_string[index_new] =s[index_origin]

index_new -= 1index_origin -= 1

return

''.join(new_string)

if__name__=="

__main__":

s="we are famliy

"answer =solution().replacespace(s)

print(answer)

演算法題 替換空格

題目描述 請實現乙個函式,把字串 s 中的每個空格替換成 20 示例 1 限制 0 s 的長度 10000解答 因為是從乙個字元 空格 變成三個字元 20 所以申請乙個字元陣列,長度為字串長度的3倍。迴圈判斷字串中字元是否為空格,如果是將字元陣列中的size size 1 size 2三個位上分別賦...

jquery 替換空格

如果是用php替換所有的空格,可以直接這樣寫 srt str replace str 替換所有的空格.但自己有js這樣 str str.replace 寫替換空格的時候,打乙個空格可以替換,如果打兩個空格以上,就不可以了。js去除空格的方法目前共有12種 實現1 string.prototype.t...

O n 實現替換空格

題目 請實現乙個函式,把字串中的每個空格替換成 20 要求時間複雜度為o n 思路 我們從字串的後面開始複製和替換。首先準備兩個指標,p1和p2。p1指向原始字串的末尾,而p2指向替換之後的字串的末尾 如圖 a 所示 接下來我們向前移動指標p1,逐個把它指向的字元複製到p2指向的位置,直到碰到第乙個...