Pythonで文字列を回転する
AとBの2つの文字列があるとします。文字列Aを回転させ、回転の任意の位置でBと一致するかどうかを確認します。一致する場合はtrueを返し、そうでない場合はfalseを返します。たとえば、A ='abcde'、B ='bcdea'の場合、Aは回転させた後にBに変換できるため、答えは真になります。
これを解決するには、次の手順に従います-
- AとBの両方が空の場合はtrueを返し、両方の長さが異なる場合はfalseを返します
- A:=Aの後にAを連結する
- i:=0、およびj:=0
- whilei
- Aの長さ– i + 1
- 一方、i
- iとjを1増やします
- Aの長さ– i + 1
例
理解を深めるために、次の実装を見てみましょう-
class Solution(object): def rotateString(self, A, B): if not A and not B: return True if len(A) != len(B): return False A = A*2 i = 0 j=0 #print(A,B) while i < len(A): if len(A)-i+1<len(B): return False while i<len(A) and j < len(B) and A[i] == B[j]: #print("Here!",i,j) i+=1 j+=1 if j == len(B): return True if j: i-=1 j=0 i+=1 ob1 = Solution() print(ob1.rotateString("abcde", "cdeab"))
入力
"abcde" "cdeab"
出力
True
-
Pythonのcasefold()文字列
この関数は、単語の文字を小文字に変換するのに役立ちます。 2つの文字列に適用すると、文字の大文字小文字の種類に関係なく、それらの値と一致する可能性があります。 casefold()の適用 以下の例では、casefold()関数を文字列に適用すると、結果はすべて小文字で出力されます。 例 string = "BestTutorials" # print lowercase string print(" lowercase string: ", string.casefold()) 出力 上記のコードを実行すると、次の結果が得られます- Lowerca
-
文字列を回転させるためのPythonでの文字列スライス
文字列が与えられます。私たちのタスクは、文字列を2つの方法にスライスすることです。 1つは時計回りで、もう1つは反時計回りです。 1.指定された文字列を左(または反時計回り)にd個の要素(d <=n)だけ回転させます。 2.指定された文字列を右(または時計回り)にd個の要素(d <=n)だけ回転させます。 例 Input: string = "pythonprogram" d = 2 Output: Left Rotation: thonprogrampy Right Rotation: ampythonprogr アルゴリズム Step 1: Enter string