796。文字列を回転
難易度: 簡単
トピック: 文字列、文字列マッチング
2 つの文字列 s とゴールを指定すると、s でいくつかの シフト を行った後に s がゴールになることができる場合に限り、true を返します。
s の シフト は、s の左端の文字を右端の位置に移動することで構成されます。
例 1:
例 2:
制約:
解決策:
文字列連結の特性を利用できます。具体的には、文字列 s をそれ自体 (つまり s s) と連結すると、s のすべての可能な回転がその連結された文字列内の部分文字列として表示されます。これにより、goal が s s の部分文字列であるかどうかを簡単にチェックできます。
このソリューションを PHP で実装してみましょう: 796。文字列を回転
<?php /** * @param String $s * @param String $goal * @return Boolean */ function rotateString($s, $goal) { ... ... ... /** * go to ./solution.php */ ?>
長さのチェック: まず、s とゴールの長さが同じかどうかを確認します。そうでない場合は、 s をゴールに変換することは不可能であるため、すぐに false を返します。
連結: 文字列 s をそれ自体と連結して doubleS を作成します。
部分文字列チェック: strpos() 関数を使用して、doubleS 内の部分文字列としてゴールが存在するかどうかを確認します。存在する場合は true を返します。それ以外の場合は false を返します。
このソリューションは、ある文字列がローテーションによって別の文字列になれるかどうかを効率的に判断します。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が。文字列を回転するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。