Pythonの逆文字列II
文字列と整数kがあるとすると、文字列の先頭から数えて2k文字ごとに最初のk文字を逆にする必要があります。十分な文字が残っていない場合は、すべてを逆にします。 2k文字未満でk文字以上の場合は、最初のk文字を逆にして、他の文字を元の文字のままにします。
したがって、入力が「abcdefgh」のようで、k =3の場合、出力は「cbadefhg」になります
これを解決するには、次の手順に従います-
-
l:=sの文字のリストを作成する
-
i:=k-1
-
一方、i
-
a:=l[インデックス0からi-k+1まで]
-
b:=l[インデックスi-k+1からi+1へ]
-
c:=l[インデックスi+1から終了まで]
-
l:=連結b[インデックス0から終了まで]連結c
-
i:=i + 2 * k
-
-
l
の各文字を連結して文字列を返します
例
理解を深めるために、次の実装を見てみましょう-
class Solution: def reverseStr(self, s, k): l = list(s) i = k-1 while i < len(l)+k: a = l[:i-k+1] b = l[i-k+1:i+1] c = l[i+1:] l = a + b[::-1] + c i += 2*k return ''.join(l) ob = Solution() print(ob.reverseStr("abcdefg", 3))
入力
"abcdefg", 3
出力
cbadefg
-
Pythonで特定の文字列の単語を逆にする
文字列が与えられ、文字列に存在するすべての単語を逆にすることが目標です。分割法と逆関数を使用して出力を実現できます。いくつかのサンプルテストケースを見てみましょう。 Input: string = "I am a python programmer" Output: programmer python a am I Input: string = "tutorialspoint is a educational website" Output: website educational a is tutorialspoint 以下の手順に従って、目
-
Pythonのcasefold()文字列
この関数は、単語の文字を小文字に変換するのに役立ちます。 2つの文字列に適用すると、文字の大文字小文字の種類に関係なく、それらの値と一致する可能性があります。 casefold()の適用 以下の例では、casefold()関数を文字列に適用すると、結果はすべて小文字で出力されます。 例 string = "BestTutorials" # print lowercase string print(" lowercase string: ", string.casefold()) 出力 上記のコードを実行すると、次の結果が得られます- Lowerca