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 ...