Python 中的迴文子字串


假設我們有一個字串;我們必須計算這個字串中有多少個迴文子字串。擁有不同起始索引或結束索引的子字串被計算為不同的子字串,即使它們包含相同的字元。因此,如果輸入類似於“aaa”,那麼輸出將是 6,因為有六個迴文子字串,如“a”、“a”、“a”、“aa”、“aa”、“aaa”

要解決這個問題,我們將遵循以下步驟 -

  • count := 0
  • 對於從 0 到字串長度的 i
    • 對於從 i + 1 到字串長度 + 1 的 j
      • temp := 從索引 i 到 j 的子字串
      • 如果 temp 為迴文,則將計數增加 1
  • 返回計數器

示例(Python)

讓我們看看以下實現以獲得更好的理解 -

 線上演示

class Solution:
   def countSubstrings(self, s):
      counter = 0
      for i in range(len(s)):
         for j in range(i+1,len(s)+1):
            temp = s[i:j]
            if temp == temp[::-1]:
               counter+=1
      return counter
ob1 = Solution()
print(ob1.countSubstrings("aaaa"))

輸入

"aaaa"

輸出

10

更新於:2020 年 4 月 29 日

5 千次以上瀏覽

啟動您的職業生涯

完成課程取得認證

開始
廣告