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 分析一 如果不考慮時間和空間複雜度的限制,最簡單的方法莫過於把這道題看成是把字串分成前後兩...