"""# 本身就是回文串單詞
palidstr =
# 翻轉單詞記錄位置
rev_words =
# 結果
res =
for idx, word in
enumerate
(words)
: rev_words[word[::
-1]]
= idx #利用列表推導式的形式進行逆置,同時利用賦值的方法規避掉「」的元素
# 為了防止陣列裡有空字串("")
if word == word[::
-1]:
(rev_words)
for idx, word in
enumerate
(words)
:if word:
for i in
range
(len
(word)):
#0--n-1
left, right = word[
:i], word[i:
]# print(left,right)
# 是否存在在單詞左邊加 使得成為回文串
if left == left[::
-1]and right in rev_words and idx != rev_words[right]
:#當前單詞左邊是回文,右側在翻轉單詞中,且當前單詞不是查詢出來的右側翻轉單詞
(left,right,idx,rev_words[right]
)[rev_words[right]
, idx]
)# 同理
if right == right[::
-1]and left in rev_words and idx != rev_words[left]
:[idx, rev_words[left]])
else
:# 對於空字串
for loc in palidstr:
if loc != idx:
[idx, loc]
)#空字串可以與任意乙個回文搭配
return res
leetcode336 回文對(字典樹)
給定一組 互不相同 的單詞,找出所有不同 的索引對 i,j 使得列表中的兩個單詞,words i words j 可拼接成回文串。示例 1 輸入 abcd dcba lls s sssll 輸出 0,1 1,0 3,2 2,4 解釋 可拼接成的回文串為 dcbaabcd abcddcba slls ...
每日一題 leetcode 336 回文對
回文對 難度困難123 給定一組 互不相同 的單詞,找出所有不同 的索引對 i,j 使得列表中的兩個單詞,words i words j 可拼接成回文串。示例 1 輸入 abcd dcba lls s sssll 輸出 0,1 1,0 3,2 2,4 解釋 可拼接成的回文串為 dcbaabcd ab...
HYSBZ 3676 回文串 回文樹
time limit 20 sec memory limit 128 mb submit 1680 solved 707 submit status discuss 考慮乙個只包含小寫拉丁字母的字串s。我們定義s的乙個子串t的 出 現值 為t在s中的出現次數乘以t的長度。請你求出s的所有回文子串中的...