Programa de Python para ordenar Palindrome Words en una oración

Dada una string S que representa una oración, la tarea es reordenar todas las palabras palindrómicas presentes en la oración en orden ordenado .

Ejemplos:

Entrada: S = “Por favor refiérase a la señora para conocer el nivel”
Salida: Por favor nivele a la señora para conocer la referencia
Explicación: Aquí “referir”, “señora”, “nivel” son las palabras palindrómicas. Ordenarlos genera la secuencia {“nivel”, “señora”, “referir”}.

Entrada: S = “referir a papá”
Salida: papá para referir

Enfoque: siga los pasos a continuación para resolver el problema:

A continuación se muestra la implementación del enfoque anterior:

Python3

# Python implementation of above program
  
# Function to check if a
# string is a palindrome or not
def palindrome(string):
    if(string == string[::-1]):
        return True
    else:
        return False
  
# Function to print the updated sentence
def printSortedPalindromes(sentence):
    
    # Stores palindromic words
    newlist = []
      
    # Stores the words split by spaces
    lis = list(sentence.split())
      
    # Traversing the list
    for i in lis:
        
        # If current word is palindrome
        if(palindrome(i)):
            
            # Update newlist
            newlist.append(i)
  
    # Sort the words in newlist
    newlist.sort()
  
    # Pointer to iterate newlis
    j = 0
      
    # Traverse the list
    for i in range(len(lis)):
        
        # If current word is palindrome
        if(palindrome(lis[i])):
            
            # Replacing word with
            # current word in newlist
            lis[i] = newlist[j]
              
            # Increment j by 1
            j = j + 1
  
    # Print the updated sentence
    for i in lis:
        print(i, end =" ")
  
  
# Driver Code
  
sentence = "please refer to the madam to know the level"
  
printSortedPalindromes(sentence)
Producción:

please level to the madam to know the refer

Complejidad de tiempo: O(N * logN)
Espacio auxiliar: O(N)

Publicación traducida automáticamente

Artículo escrito por vikkycirus y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *