Find all pair of unique indexes using concatenation of words to form a palindrome



Problem to find which two index to form a palindrome and print that pair.



Example-1:


Input    : n = [ "code", "edoc", "da", "d"]
Output   : [(0, 1), (1, 0), (2, 3)]
Explain  : "code"+"edoc" => "codeedoc". It's palindrome.The index pair is (0,1).
           "edoc"+"code" => "edoccode". It's palindrome.The index pair is (1,0).
           "da"+"d" => "dad". It's palindrome.The index pair is (2,3).


Example-2:


Input    : n = [ "Ferrari", "is", "a", "race", "car"]
Output   : [(3, 4)]
Explain  : "race"+"car" => "racecar". It's palindrome.The index pair is (3,4).







Solution




n = [ "code", "edoc", "da", "d"]

l = []

for i in range(len(n)):

    for j in range(len(n)):

        if(i == j):

            continue

        else:

            a = n[i] + n[j]

            if(a == a[::-1]):

                l.append((i,j))

print(l)



Output



[(0, 1), (1, 0), (2, 3)]