2017-01-16 11 views
-2

クラッキングの作業コーディングインタビューの問題は、ある文字列が別の文字列を回転させるかどうかを確認する方法です。問題の1つの注意点は、isSubstring(s1, s2)への1回の呼び出しで解決する必要があるということです。1つの単語が別の単語のローテーションであるかどうかをチェックするメソッド

私は、s2がs1の回転であれば、s1をx1とy2の2つの部分に分けてs1 = xy、s2 = yxとすることができます。したがって、著者はs2がs1s1の部分文字列でなければならないと主張し続けている(yxはxyxyの一部である)。

私は完全に理解していることを確認するためにこの質問を書いています。それは、s1がs2s2の部分文字列でなければならない(つまりxyはyxyxの部分文字列でなければならない)ということと等価ではありませんか?そしてその方法では、両方のアプローチが同等ですか?私が何かが欠落しているかどうかわからない。

+0

リンクさえされておらず、そうした曖昧な方法でしか記述されていない外部サイトの問題への参照は役に立ちません。実際の問題の説明で編集してください(リンクはオプションであり、問​​題の説明に加えてのみ提供する必要があります)。 – Paul

+1

質問は、それが出てきた本の中の2つのセンテンスだけなので、実際にそれに追加することはそれほど多くありません。 –

答えて

1

はい、これらの2つは同等です。 s1s2のローテーションの場合、s2もまたs1のローテーションであるため、どの方向から問題に近づいても問題ありません。 s1は、s2s2の部分文字列になり、s2は、2つの文字列が互いに回転している場合は、s1s1の部分文字列になります。

関連する問題