day3 劍指 Offer 05 替換空格

2021-10-22 17:30:40 字數 1214 閱讀 8167

解答:

class

solution

}

總結:本來的想法是把字串截成乙個乙個字元放陣列裡,然後遍歷,空格變成%20,正當我想不起來怎麼截字元去搜string的查用方法時,(ps:看來官方的做法才發現,就算擷取字串替換,也不能一下子把%20換了,那是三個字元)發現這個寶藏方法 replace();好像有點投機取巧了,違背了出題人本身的意願。但架不住他香呀,所以今天就在這把string的一些常用方法列一下。

string 常用方法

indexof():求某個字元在字串中的位置

charat():求乙個字串中某個位置的值)從0開始

replace():將字串中的某些字元用別的字元替換掉。形如replace(「abc」,」ddd」);字串中的abc將會被ddd替換掉。

split():根據給定正規表示式的匹配拆分此字串。形如 string s = 「the time is going quickly!」; str1=s.split(" ");

substring():輸出乙個新的字串,它是此字串中的子串,形如substring(3,7);它將字串中的第

三、四、五、六個輸出。左開右閉

trim():將字串開頭的空白(空格)和尾部的空白去掉。

touppercase() / tolowercase();

下邊還是看看官方給的做法吧,該學還得學啊

因為空格是乙個字元被替換成了%20三個字元,假設最壞的情況:這個字串全是空格,那麼轉換之後的字串長度就會變成原字串的三倍,所以我們用乙個陣列來暫時存變換後的新字元時,長度就設定為原來三倍。然後遍歷找替換,唯一沒見過的就是new string(char陣列,起始下標,長度);

class

solution

else

} string newstring =

newstring

(arr,

0,size)

;return newstring;

}}

我覺得這個比官方的更簡潔

class

solution

else

}return sb.

tostring()

;}}

劍指 Offer 05 替換空格

劍指 offer 05.替換空格 請實現乙個函式,把字串 s 中的每個空格替換成 20 示例 1 方法一 遍歷新增 由於每次替換從 1 個字元變成 3 個字元,使用字元陣列可方便地進行替換。建立字元陣列地長度為 s 的長度的 3 倍,這樣可保證字元陣列可以容納所有替換後的字元。class solut...

劍指 Offer 05 替換空格

請實現乙個函式,把字串 s 中的每個空格替換成 20 示例 1 限制 0 s 的長度 10000 我的解答 class solution 這道題還是很簡單的,使用replace或者遍歷整個字串,每到空格就新增 20即可。不過在做完後發現,replace和replaceall方法具有差別,replac...

劍指Offer 05 替換空格

請實現乙個函式,把字串 s 中的每個空格替換成 20 示例 1 思路 因為string 的不可性,每一次在 res 後面新增字元,都要重新開闢空間 複製之前的值,再在末尾新增,所以效率很低,如下 改進 利用 stringbuffer stringbuilder 的特性,底層會申請乙個預設 16 位元...