Python
 Computer >> コンピューター >  >> プログラミング >> Python

文字列の2つの部分をチェックするプログラムは、Pythonで回文であるかどうかを確認します


同じ長さの2本の弦SとTがあるとすると、Sの最初の部分とTの2番目の部分が回文を形成するように、両方の弦を共通の点で切断できるかどうかを確認する必要があります。

したがって、入力がS ="cat" T ="pac"の場合、文字列を "c"+"at"と"d"+ "ac"にカットした場合のように、出力はTrueになります。 c"+"ac"は回文です。

これを解決するには、次の手順に従います-

  • n:=a

    のサイズ
  • i:=0

  • i

    • i:=i + 1

  • a[インデックスiからn-i-1]が回文であるか、b[インデックスiからn-i-1]が回文である場合にtrueを返します

理解を深めるために、次の実装を見てみましょう-

class Solution:
   def solve(self, a, b):
      n = len(a)
      i = 0
      while i < n and a[i] == b[-i-1]:
         i += 1
      palindrome = lambda s: s == s[::-1]
      return palindrome(a[i:n-i]) or palindrome(b[i:n-i])
ob = Solution()
S = "cat"
T = "dac"
print(ob.solve(S, T))

入力

"cat","dac"

出力

True

  1. Pythonで葉のシーケンスが2つの葉と同じであるかどうかを確認するプログラム

    2つの二分木があるとします。両方の木の左から右への葉の順序が同じであるかどうかを確認する必要があります。 したがって、入力が次のような場合 両方のツリーのシーケンスが[2、6]であるため、出力はTrueになります。 これを解決するには、次の手順に従います。 c:=新しいリスト 関数inorder()を定義します。これが定着し、c cがnullの場合、 c:=新しいリスト rootがnullでない場合、 順序(ルートの左側、c) ルートの左側がnullで、ルートの右側がnullの場合、 cの最後にrootの値を挿入 順序(ルートの権利、c) return c

  2. 指定された文字列がキーワードであるかどうかを確認するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、その数値が2の累乗であるかどうかを確認する必要があります。 キーワードは、特定の用途で任意の言語によって予約されている特別な単語であり、識別子として使用することはできません。 指定された文字列がキーワードであるかどうかを確認するために、以下で説明するようにキーワードモジュールを使用しました。 例 # keyword module import keyword # Function def isKeyword(word) :    # list of all