67文字列の左回転 - のオファーを受賞

タイトル説明

左ローテート(ROL)と呼ばれるアセンブリ言語命令のシフトがあり、現在は簡単な作業であり、この命令は、文字列操作の結果によってシミュレートされます。指定された文字列Sの場合、あなたはKビットのシリアル出力した後、その左の円を入れました。例えば、文字列S =「abcXYZdef」は、三つ、即ち「XYZdefabc」後に必要な出力結果を左回転させました。それは単純ではないですか?OK、それを得ます!
 
ソリューション:
  最後にフリップ:
    左側の部分とフリップの右側の部分を反転し、全体の缶を反転。

 

1  クラスSolution02 {
 2  公共3       LeftRotateString(文字列 strの、int型N){
 4          int型のサイズ= str.length()。
5          あれば(サイズ< 2 || N%サイズ== 0戻りSTR。
6          = N%サイズ。
7          リバース(STR、0、N - 1 )。
8          リバース(STR、N、サイズ- 1 )。
9          リバース(STR、0、サイズ- 1);
10          リターンSTR。
11      }
 12  プライベート13      ボイドリバース(文字列&STR、INTを L、INT R)
 14      {
 15          ながら(L < R){
 16              スワップ(STR [L]、STR [R])。
17              ++ L、 - R。
18          }
 19      }
 20 }。

 

おすすめ

転載: www.cnblogs.com/zzw1024/p/11708270.html