leetcode 647 回文子串

2021-10-10 08:17:42 字數 987 閱讀 4980

回文子串

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。

具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被視作不同的子串。

示例 1:

輸入:「abc」

輸出:3

解釋:三個回文子串: 「a」, 「b」, 「c」

示例 2:

輸入:「aaa」

輸出:6

解釋:6個回文子串: 「a」, 「a」, 「a」, 「aa」, 「aa」, 「aaa」

class

solution

:def

__init__

(self)

: self.res =

0def

count_num

(self, start:

int, end:

int, s:

str)

->

none

:while start >=

0and end <

len(s)

and s[start]

== s[end]

: self.res +=

1 start -=

1 end +=

1def

countsubstrings

(self, s:

str)

->

int:

for i in

range

(len

(s))

: self.count_num(i, i, s)

# 奇數的情況,從本身開始向兩邊擴散

self.count_num(i, i+

1, s)

# 偶數的情況,從本身開始向兩邊擴散 中心點是兩個

return self.res

leetcode647 回文子串

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。示例 輸入 aaaba 輸出 9 解釋 a aa a aa aaa a b aba a 奇回文 如 aba 和偶回文 如abba 歸一化處理 i 0123 47s...

leetcode 647 回文子串

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。示例 1 輸入 abc 輸出 3 解釋 三個回文子串 a b c 示例 2 輸入 aaa 輸出 6 說明 6個回文子串 a a a aa aa aaa 注意 輸入...

LeetCode 647 回文子串

題目鏈結 題目描述 給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。示例輸入 abc 輸出 3 解釋 三個回文子串 a b c 輸入 aaa 輸出 6 說明 6個回文子串 a a a aa aa aaa 注意 ...