文字列が回転しているか判定する方法

今日も『世界で闘うプログラミング力を鍛える150問』の問題を解いている。

お題はこうだ。

片方の文字列が、もう片方の文字列の一部分になっているかどうかを調べるメソッド「isSubstring」が使えると仮定します。2つの文字列 s1 と s2 が与えられたとき、isSubstring メソッドを一度だけ使って s2 が s1 を回転させたものかどうかを判定するコードを書いてください (たとえば、「waterbottle」は「erbottlewat」を回転させたものになっています)。

考え方

s2s1 を回転させたものであれば、s2s2 を結合すれば s1 が表れる。問題文の例だと s2"erbottlewat" だから、これを二つ結合すると "erbottlewaterbottlewat" になると。この文字列は中に "waterbottle" を含んでいる。

ここまで分かれば、実装は簡単だろう。

コメントを残す

コメントを投稿するには、以下のいずれかでログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中