2017-03-11 20 views
0

私は文字列の巡回シフトを行わなければなりません。私は、文字列「HIHI」 私はこの場合「HIHI」で巡回シフト与えられた文字列の巡回シフトを見つける

"hihi" is 0th shift of "hihi" 
"ihih" is 1st shift of "hihi" 
"hihi" is 2nd 
"ihih" is 3rd 

を見つける必要がありを持っている場合、それは2つの巡回シフトを持つように例えば2回繰り返します。

誰かが私を助けてくれますか?

答えて

2

あなたは文字列操作に配列シフトと配列の組み合わせを行うことができます:

function shift($string) { 
    $arr = str_split($string); 
    $head = array_shift($arr); 
    array_push($arr,$head); 
    return implode($arr); 
} 

$str = "hihi"; 
$shifts = strlen($str); //n shifts (incl. original) 
for ($i = 0;$i < $shifts;$i++) { 
    echo $str.PHP_EOL; 
    $str = shift($str); 
} 

http://sandbox.onlinephpfunctions.com/code/49e5ef01f3cc49db7c353f8ab8d74322375c4d22

でそれをチェックアウト
関連する問題