字串處理

2021-09-20 10:11:56 字數 893 閱讀 2255

字串處理:

一:判斷字串str2是否為str1的旋轉詞。旋轉詞解釋為:str=「1234」,的旋轉詞有"1234",「2341」,「3412」,「4123」

要求:在o(n)內求解判斷。

步驟:(1)判斷str1與str2是否長度相等。若不等,則返回false

(2)生成str1+str1的大字串

(3)使用kmp演算法判斷大字串中是否包含str2。若包含,則str2是str1的旋轉詞

注:kmp演算法為資料結構的一種基本演算法

二:實現字串單詞間的逆序。

例如:「he loves her"逆序為"her loves he」

步驟:(1)實現字串所有字元逆序的函式f

(2)將字串所有的字元逆序。如:「he loves her"逆序為"reh sevol eh」

(3)將逆序後的字串對應的沒乙個單詞區域逆序。如:「reh sevol eh"逆序為"her loves he」

三:給定乙個字串,乙個整數i,將str[0,1,…,i]換到右邊,str[i+1,…,n-1]換到左邊。比如:str=「abcde」,i=2,將str調整為"deabc"。

步驟:(1)把str[0…i]部分字串逆序

(2)把str[i+1…n-1]部分字串逆序逆序

(3)把整個字串逆序

四:將字串按照字典順序最小的方式拼接。例如:[「abc

「, 「de」]拼接為"abcde」,「deabc」

[「b」, 「ba」]拼接為"bba」,「bab」,"bab"字典順序最小。

思考:如按照區域性字串的字典順序最小,則整體拼接的字串不一定是最小,故不能直接比較區域性字串的順序拼接。

步驟:對與str1和str2,若str1+str2

字串處理 字串反轉

請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...

字串處理

uncode與ansi字串轉換 我們使用windows函式multibytetowidechar將多位元組字串轉換成寬字元字串。函式如下 int multibytetowidechar uintcodepage dworddwflags lpcstrlpmultibytestr intcbmulti...

字串處理

byte array new byte 2 array system.text.encoding.default.getbytes 啊 int i1 short array 0 0 int i2 short array 1 0 unicode解碼方式下的漢字碼 array system.text.e...