给定一组不相同的单词, 找出所有不同的索引对(i, j),使得列表中的两个单词可拼接成回文串。
示例 1:
输入:[“abcd”,“dcba”,“lls”,“s”,“sssll”]
输出:[[0,1],[1,0],[3,2],[2,4]]
解释:可拼接成的回文串为 [“dcbaabcd”,“abcddcba”,“slls”,“llssssll”]
示例 2:
输入:[“bat”,“tab”,“cat”]
输出:[[0,1],[1,0]]
解释:可拼接成的回文串为 [“battab”,“tabbat”]
def palindrome_string(words):
index = []
for i,word1 in enumerate(words):
for j,word2 in enumerate(words):
if i != j:
word = word1 + word2
if len(word) % 2 == 0 and word[0:len(word)//2] == word[len(word)//2:][::-1]:
index.append([i,j])
return index
palindrome_string(["abcd","dcba","lls","s","sssll"])
# [[0, 1], [1, 0], [2, 4], [3, 2]]
palindrome_string(["bat","tab","cat"])
# [[0, 1], [1, 0]]