劍指5 替換空格

2021-09-23 10:31:25 字數 1400 閱讀 3735

1.python方法:把字元創轉為list,然後遇到空格就把空格換為%20,最後合成字串

# -*- coding:utf-8 -*-

class

solution

:# s 源字串

defreplacespace

(self, s)

:# write code here

s =list

(s) count=

len(s)

for i in

range(0

,count)

:if s[i]

==' '

: s[i]

='%20'

return

''.join(s)

2.統計出空格個數,算出替換後字串長度,從後向前一次插入

# -*- coding:utf-8 -*-

class

solution

:# s 源字串

defreplacespace

(self, s)

:# write code here

blank =

0 n =

len(s)-1

if s ==

none

or n <=0:

return

for i in

range

(n):

if s[i]

==' '

: blank +=

1 newn = n + blank*

2 s1 =[0

]*newn

while n >

0and newn > n:

if s[n]

==' '

: s1[newn]

='0'

newn -=

1 s1[newn]

='2'

newn -=

1 s1[newn]

='%'

newn -=

1else

: s1[newn]

= s[n]

newn -=

1 n -=

1 s2 =

''.join(s1)

return s2

劍指 5 替換空格

題目描述 演算法分析 提交 class solution int newlength originlength 2 blanknumber if newlength length return int i originlength int j newlength while i 0 j 0 i 測試...

劍指Offer 替換空格 5

在字串後任意填充字元,使得字串替換前的長度 替換後的長度,例如上面這個例子,替換前長度為12,替換後的長度為16,所以在原來字串的基礎上填充2位.p1指向填充前的末尾,p2指向填充後的末尾 然後p1,p2一起前移,如果p1不是空格,則p2 p1 如果p1是空格,則p2依次輸入 02 1 public...

劍指 替換空格

class solution new length old length 2 num if new length length return int pold old length char 字串陣列長度需要把結束符 0 算入其中,old length的值指的是字元元素數量加上 0 的數量 int ...