第26題 旋轉字串

2022-09-08 10:06:13 字數 1176 閱讀 4869

github:

**

package test026;

/** * created by cq on 2015/6/23.

* 第26題:定義字串的做旋轉操作:把字串前面的若干個字元移動到字串的尾部。如

* 把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求

* 對長度為n的字串操作的時間複雜度為o(n),輔助記憶體為o(1)。

*/public

class

test026

char chararray = sentence.trim().tochararray();

int arrlength = chararray.length;

//翻轉前半部分

reversechararr(chararray,0,rotationnum-1);

//翻轉後半部分

reversechararr(chararray,rotationnum,arrlength-1);

//將整個字串按字元首尾翻轉

reversechararr(chararray,0,arrlength-1);

return string.valueof(chararray);

}//翻轉字元陣列中的一部分

public

static

void

reversechararr(char chararr, int head, int tail)

head++;

tail--;}}

public

static

void

main(string args)

}

執行結果

connected to

the target vm, address: '127.0.0.1:2024', transport: 'socket'

將字串 abcdef 左旋轉2位後得:cdefab

disconnected from

the target vm, address: '127.0.0.1:2024', transport: 'socket'

process finished with exit code 0

26 左旋轉字串

題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 分析 一 如果不考慮時間和空間複雜度的限制,最簡單的方法莫過於把這道題看成是把字串分成前後...

26 左旋轉字串

題目 定義字串的左旋轉操作,把字串前面的若干個字元移動到字串的尾部 解 1.最笨的一種方法就是,每次將字串左移1個位置,然後把最左邊的字元放到最後,這樣移動滿次數就行,假設字串長度是n,要移動前面m個字元 m n 那麼,時間 o m n 2.程式設計珠璣上的題目,把n長字串分為m n m,記m長子串...

微軟100題 26 左旋轉字串

題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 分析一 如果不考慮時間和空間複雜度的限制,最簡單的方法莫過於把這道題看成是把字串分成前後兩...