Count palindrome words in a sentence
Given a string str and the task is to count palindrome words present in the string str.
Examples:
Input : Madam Arora teaches malayalam Output : 3 The string contains three palindrome words (i.e., Madam, Arora, malayalam) so the count is three. Input : Nitin speaks malayalam Output : 2 The string contains two palindrome words (i.e., Nitin, malayalam) so the count is two.
Method 1:
countPalin() function counts the number of palindrome words by extracting every word of the string and passing it to checkPalin() function. An extra space is added in the original string to extract last word.
checkPalin() function check the word palindrome. It returns 1 if word is palindrome else returns 0. It makes sure that empty strings are not counted as palindrome as the user may enter more than one spaces in between or at the beginning of the string.
C++
/*C++ program to count number of palindrome words in a sentence*/ #include <bits/stdc++.h> using namespace std; // Function to check if a word is // palindrome bool checkPalin(string word) { int n = word.length(); transform(word.begin(), word.end(), word.begin(), :: tolower ); for ( int i = 0; i < n; i++,n--) if (word.at(i) != word.at(n - 1)) return false ; return true ; } // Function to count palindrome words int countPalin(string str) { // to check last word for palindrome str = str + " " ; // to store each word string word = "" ; int count = 0; for ( int i = 0; i < str.length(); i++) { char ch = str.at(i); // extracting each word if (ch != ' ' ) word = word + ch; else { if (checkPalin(word)) count++; word = "" ; } } return count; } // Driver code int main() { cout<<countPalin( "Madam Arora teaches malayalam" )<<endl; cout<<countPalin( "Nitin speaks malayalam" )<<endl; } // This code is contributed by nidhi16bcs2007 |
Java
/*Java program to count number of palindrome words in a sentence*/ class GFG { // Function to check if a word is // palindrome static boolean checkPalin(String word) { int n = word.length(); word = word.toLowerCase(); for ( int i= 0 ; i<n; i++,n--) if (word.charAt(i) != word.charAt(n - 1 )) return false ; return true ; } // Function to count palindrome words static int countPalin(String str) { // to check last word for palindrome str = str + " " ; // to store each word String word = "" ; int count = 0 ; for ( int i = 0 ; i < str.length(); i++) { char ch = str.charAt(i); // extracting each word if (ch != ' ' ) word = word + ch; else { if (checkPalin(word)) count++; word = "" ; } } return count; } // Driver code public static void main(String args[]) { System.out.println(countPalin( "Madam " + "Arora teaches malayalam" )); System.out.println(countPalin( "Nitin " + "speaks malayalam" )); } } |
Python3
# Python3 program to count number of # palindrome words in a sentence # Function to check if a word is palindrome def checkPalin(word): if word.lower() = = word.lower()[:: - 1 ]: return True # Function to count palindrome words def countPalin( str ): count = 0 # splitting each word as spaces as # delimiter and storing it into a list listOfWords = str .split( " " ) # Iterating every element from list # and checking if it is a palindrome. for elements in listOfWords: if (checkPalin(elements)): # if the word is a palindrome # increment the count. count + = 1 print (count) # Driver code countPalin( "Madam Arora teaches malayalam" ) countPalin( "Nitin speaks malayalam" ) # This code is contributed # by Ronit Shrivastava. |
C#
// C# program to count number of // palindrome words in a sentence using System; class GFG { // Function to check if a word is // palindrome public static bool checkPalin( string word) { int n = word.Length; word = word.ToLower(); for ( int i = 0; i < n; i++,n--) { if (word[i] != word[n - 1]) { return false ; } } return true ; } // Function to count palindrome words public static int countPalin( string str) { // to check last word for palindrome str = str + " " ; // to store each word string word = "" ; int count = 0; for ( int i = 0; i < str.Length; i++) { char ch = str[i]; // extracting each word if (ch != ' ' ) { word = word + ch; } else { if (checkPalin(word)) { count++; } word = "" ; } } return count; } // Driver code public static void Main( string [] args) { Console.WriteLine(countPalin( "Madam " + "Arora teaches malayalam" )); Console.WriteLine(countPalin( "Nitin " + "speaks malayalam" )); } } // This code is contributed by Shrikant13 |
Javascript
<script> /*Javascript program to count number of palindrome words in a sentence*/ // Function to check if a word is // palindrome function checkPalin(word) { var n = word.length word = word.toLowerCase(); for ( var i = 0; i < n; i++,n--) if (word[i] != word[n - 1]) return false ; return true ; } // Function to count palindrome words function countPalin( str) { // to check last word for palindrome str = str + " " ; // to store each word var word = "" ; var count = 0; for ( var i = 0; i < str.length; i++) { var ch = str[i]; // extracting each word if (ch != ' ' ) word = word + ch; else { if (checkPalin(word)) count++; word = "" ; } } return count; } // Driver code document.write( countPalin( "Madam Arora teaches malayalam" ) + "<br>" ); document.write( countPalin( "Nitin speaks malayalam" )); // This code is contributed by itsok. </script> |
Output:
3 2
Time Complexity: O(n2), where n is the size of the given string.
Auxiliary Space: O(n), where n is the size of the given string.
https://youtu.be/z
-5HChTA0ME