04 替換空格

2021-07-31 20:20:35 字數 3205 閱讀 9458

題目:實現乙個函式,把字串中的每個空格替換成」%20」。例如」i like it」,」i%20like%20it」思路:如果直接每次遇到空格新增』%20』,那麼空格後面的數字就需要頻繁向後移動。遇到這種移動問題,我們可以嘗試先給出最終需要的長度,然後從後向前掃瞄,同時給定兩個指標來保證定位。

public

class replaceblank

int numberofblank = 0;

for(int i=0;iif(string[i] == ' ')

}//newlength:替換後的字串的長度

int newlength = originallength + numberofblank * 2;

if(newlength > length)

return ;

//從後往前

int indexoforiginal = originallength-1;

int indexofnew = newlength-1;

while(indexoforiginal >= 0 && indexofnew >= indexoforiginal)

else

indexoforiginal--;

}

}public

static

void

output(string input,int max)

int originallength = input.length();

system.out.println("原字串:"+ input);

for(int i=0;ichar ch = input.charat(i);

output[i] = ch;

}replaceblank a = new replaceblank();

a.replace(output,max,originallength);

system.out.print("現字串:");

# python中string 不能改變,所以要創造乙個新的string來進行操作

defreplace

(string,length):

if(string == none

or length <= 0

ornot isinstance(string,str)):

return

"" originallength = len(string)

numberofblank = 0

for i in string:

if(i == ' '):

numberofblank += 1

newlength = originallength + numberofblank * 2

if(newlength > length):

return

#從後往前

indexoforiginal = originallength-1

indexofnew = newlength-1

newstr = newlength * [none]

while(indexoforiginal >= 0

and indexofnew >= indexoforiginal):

if(string[indexoforiginal] == ' '):

newstr[indexofnew] = '0'

indexofnew -= 1

newstr[indexofnew] = '2'

indexofnew -= 1

newstr[indexofnew] = '%'

indexofnew -= 1

else:

newstr[indexofnew] = string[indexoforiginal]

indexofnew =indexofnew- 1

indexoforiginal -= 1

return

"".join(newstr)

str1 = 'hello world'

# 空格在句子中間

str2 = 'hello world'

# 連續有兩個空格

str3 = ' helloworld'

# 空格在句子開頭

str4 = ''

# 空字串

str5 = ' '

# 乙個空格

str6 = ' '

# 全是空格

str7 = none

# 傳入none

str8 = 'none'

# 傳入字串none

print('原字串:',str1)

print('現字串:',replace(str1,100))

print('原字串:',str2)

print('現字串:',replace(str2,100))

print('原字串:',str3)

print('現字串:',replace(str3,100))

print('原字串:',str4)

print('現字串:',replace(str4,100))

print('原字串:',str5)

print('現字串:',replace(str5,100))

print('原字串:',str6)

print('現字串:',replace(str6,100))

print('原字串:',str7)

print('現字串:',replace(str7,100))

print('原字串:',str8)

print('現字串:',replace(str8,100))

04 空格替換

請編寫乙個方法,將字串中的空格全部替換為 20 假定該字串有足夠的空間存放新增的字元,並且知道字串的真實長度 小於等於1000 同時保證字串由大小寫的英文本母組成。給定乙個stringinistring為原始的串,以及串的長度 intlen,返回替換後的string。測試樣例 1.mr john s...

劍指offer程式設計題 04 替換空格

寫函式,將字串中的每個空格替換成20 首先找出所有的空格數,然後整體後移,最後填充三個字元 特殊字元可能會無法顯示,需要ascii碼轉換,32空格 include include using namespace std char replacestr char str int length len ...

jquery 替換空格

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