Given a list of unique words, find all pairs of distinct indices (i, j) in the given list, so that the concatenation of the two words, i.e. words[i] + words[j] is a palindrome.
Example 1:
Input: ["abcd","dcba","lls","s","sssll"]
Output: [[0,1],[1,0],[3,2],[2,4]]
Explanation: The palindromes are ["dcbaabcd","abcddcba","slls","llssssll"]
Example 2:
Input: ["bat","tab","cat"]
Output: [[0,1],[1,0]]
Explanation: The palindromes are ["battab","tabbat"]
My code:
class Solution(object):
def palindromePairs(self, words):
"""
:type words: List[str]
:rtype: List[List[int]]
"""
result=[]
for i in range(len(words)):
word1=words[i]
for j in range(len(words)):
if i==j:
continue
word2=words[j]
new_str=word1+word2
if new_str==new_str[::-1]:
result.append([i,j])
return result
Solution: https://leetcode.com/problems/palindrome-pairs/submissions/