2017-03-11 1 views
0

Ich muss die zyklische Verschiebung der Zeichenfolge tun. Zum Beispiel, wenn ich string „hihi“ ich die zyklische Verschiebungfinden Sie die zyklische Verschiebung der angegebenen Zeichenfolge

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

In diesem Fall „hihi“ wird zweimal wiederholt zu finden, so dass es zwei zyklische Verschiebung hat.

Könnte mir bitte jemand helfen.

Antwort

2

Sie eine Kombination von Array Verschiebungen und Array-String-Operationen tun könnte:

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); 
} 

es Einchecken im http://sandbox.onlinephpfunctions.com/code/49e5ef01f3cc49db7c353f8ab8d74322375c4d22 out

Verwandte Themen