Eliminar todas las palabras palindrómicas de la oración dada

Dada una oración str . El problema es eliminar todas las palabras palindrómicas de la oración dada.
Ejemplos: 

Input : str = "Text contains malayalam and level words"
Output : Text contains and words

Input : str = "abc bcd"
Output : abc bcd

Planteamiento: Una a una extrae todas las palabras. Compruebe si la palabra actual no es un palíndromo y luego agréguela a la string final. 
Algoritmo:

C++

// C++ implementation to remove all the 
// palindromic words from the given sentence
#include <bits/stdc++.h>
using namespace std;
  
// function to check if 'str' is palindrome
bool isPalindrome(string str) {
  int i = 0, j = str.size() - 1;
  
  // traversing from both the ends
  while (i < j)
  
    // not palindrome
    if (str[i++] != str[j--])
      return false;
  
  // palindrome
  return true;
}
  
// function to remove all the palindromic words
// from the given sentence
string removePalinWords(string str) {
  
  // 'final_str' to store the final string and
  // 'word' to one by one store each word of 'str'
  string final_str = "", word = "";
  
  // add space at the end of 'str'
  str = str + " ";
  int n = str.size();
  
  // traversing 'str'
  for (int i = 0; i < n; i++) {
  
    // accumulating characters of the current word
    if (str[i] != ' ')
      word = word + str[i];
  
    else {
  
      // if 'word' is not palindrome then a
      // add it to 'final_str'
      if (!(isPalindrome(word)))
        final_str += word + " ";
  
      // reset
      word = "";
    }
  }
  
  // required final string
  return final_str;
}
  
// Driver program to test above
int main() {
  string str = "Text contains malayalam and level words";
  cout << removePalinWords(str);
  return 0;
}

Java

// Java implementation to remove all the 
// palindromic words from the given sentence
  
class GFG
{
    // function to check if 'str' is palindrome
    static boolean isPalindrome(String str) 
    {
        int i = 0, j = str.length() - 1;
          
        // traversing from both the ends
        while (i < j)
        {
            // not palindrome
            if (str.charAt(i++) != str.charAt(j--))
            return false;
        }
        // palindrome
        return true;
    }
      
    // function to remove all the palindromic words
    // from the given sentence
    static String removePalinWords(String str) 
    {
      
        // 'final_str' to store the final string and
        // 'word' to one by one store each word of 'str'
        String final_str = "", word = "";
          
        // add space at the end of 'str'
        str = str + " ";
        int n = str.length();
          
        // traversing 'str'
        for (int i = 0; i < n; i++) 
        {
          
            // accumulating characters of the current word
            if (str.charAt(i) != ' ')
            word = word + str.charAt(i);
          
            else 
            {
          
                // if 'word' is not palindrome then a
                // add it to 'final_str'
                if (!(isPalindrome(word)))
                    final_str += word + " ";
              
                // reset
                word = "";
            }
        }
          
        // required final string
        return final_str;
    }
      
    // Driver code
    public static void main (String[] args)
    {
        String str = "Text contains malayalam and level words";
    System.out.print(removePalinWords(str));
    }
}
  
// This code is contributed by Anant Agarwal.

Python3

# Python3 implementation to remove all the 
# palindromic words from the given sentence 
  
# function to check if 'str' is palindrome 
def isPalindrome(string) : 
    i = 0; j = len(string) - 1; 
  
    # traversing from both the ends 
    while (i < j) :
      
        # not palindrome 
        if (string[i] != string[j]) :
            return False;
        i += 1;
        j -= 1;
      
    # palindrome 
    return True; 
  
# function to remove all the palindromic words 
# from the given sentence 
def removePalinWords(string) :
  
    # 'final_str' to store the final string and 
    # 'word' to one by one store each word of 'str' 
    final_str = ""; word = ""; 
      
    # add space at the end of 'str' 
    string = string + " "; 
    n = len(string); 
      
    # traversing 'str' 
    for i in range(n) :
      
        # accumulating characters of the current word 
        if (string[i] != ' ') :
            word = word + string[i]; 
      
        else :
      
            # if 'word' is not palindrome then a 
            # add it to 'final_str' 
            if (not (isPalindrome(word))) :
                final_str += word + " "; 
          
            # reset 
            word = ""; 
      
    # required final string 
    return final_str; 
      
# Driver Code
if __name__ == "__main__" : 
      
    string = "Text contains malayalam and level words"; 
    print(removePalinWords(string)); 
  
# This code is contributed by AnkitRai01

C#

// C# implementation to remove all the 
// palindromic words from the given sentence
using System;
  
class GFG {
      
    // function to check if 'str' is 
    // palindrome
    static bool isPalindrome(string str) 
    {
        int i = 0, j = str.Length - 1;
          
        // traversing from both the ends
        while (i < j)
        {
              
            // not palindrome
            if (str[i++] != str[j--])
            return false;
        }
          
        // palindrome
        return true;
    }
      
    // function to remove all the 
    // palindromic words from the 
    // given sentence
    static String removePalinWords(string str) 
    {
      
        // 'final_str' to store the final 
        // string and 'word' to one by one
        // store each word of 'str'
        string final_str = "", word = "";
          
        // add space at the end of 'str'
        str = str + " ";
        int n = str.Length;
          
        // traversing 'str'
        for (int i = 0; i < n; i++) 
        {
          
            // accumulating characters of 
            // the current word
            if (str[i] != ' ')
                word = word + str[i];
            else
            {
          
                // if 'word' is not palindrome
                // then a add it to 'final_str'
                if (!(isPalindrome(word)))
                    final_str += word + " ";
          
                // reset
                word = "";
            }
        }
          
        // required final string
        return final_str;
    }
      
    // Driver code
    public static void Main ()
    {
        string str = "Text contains malayalam "
                           + "and level words";
        Console.WriteLine(removePalinWords(str));
    }
}
  
// This code is contributed by vt_m.

Javascript

<script>
  
// Javascript implementation to remove all the 
// palindromic words from the given sentence
  
// function to check if 'str' is palindrome
function isPalindrome(str) {
  var i = 0, j = str.length - 1;
  
  // traversing from both the ends
  while (i < j)
  
    // not palindrome
    if (str[i++] != str[j--])
      return false;
  
  // palindrome
  return true;
}
  
// function to remove all the palindromic words
// from the given sentence
function removePalinWords(str) {
  
  // 'final_str' to store the final string and
  // 'word' to one by one store each word of 'str'
  var final_str = "", word = "";
  
  // add space at the end of 'str'
  str = str + " ";
  var n = str.length;
  
  // traversing 'str'
  for (var i = 0; i < n; i++) {
  
    // accumulating characters of the current word
    if (str[i] != ' ')
      word = word + str[i];
  
    else {
  
      // if 'word' is not palindrome then a
      // add it to 'final_str'
      if (!(isPalindrome(word)))
        final_str += word + " ";
  
      // reset
      word = "";
    }
  }
  
  // required final string
  return final_str;
}
  
// Driver program to test above
var str = "Text contains malayalam and level words";
document.write( removePalinWords(str));
  
// This code is contributed by itsok.
</script>

Python3

# Python program for the above approach
  
# Function which returns last word
def removePalindrome(string):
  
    # Split by space and converting
    # String to list and
    lis = list(string.split(" "))
  
    # length of list
    length = len(lis)
      
    # Taking new list
    newlis = []
      
    # loop till length of list
    for i in range(length):
        
        # check if the word is palindrome
        if(lis[i] != lis[i][::-1]):
            newlis.append(lis[i])
  
    return newlis
  
  
# Driver code
string = "Text contains malayalam and level words"
print(*removePalindrome(string))

Publicación traducida automáticamente

Artículo escrito por ayushjauhari14 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 *