Check for palindromes for strings that may contain whitespace
Answer:
A string is palindrome if it reads the same backwards as well as forwards. For example "Madam".
This string is a palindrome because if we try to read it backwards, it is the same as forward.
algorithm
Input a string.
Convert the string to lowercase to make the comparison case-insensitive.
Now, iterate through the string back and forth, comparing one character at a time until the middle of the string is reached. Skip the whitespace
If none of the characters match, break the loop.
import java.util.Scanner;
public class Palindrome
{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Input a string : ");
String str = input.nextLine();
boolean flag = true;
//Converts the given string into lowercase
str = str.toLowerCase();
int i, j;
i = 0;
j = str.length() - 1;
while (i < j){
while(str.charAt(i) == ' ') {
i++;
}
while(str.charAt(j) == ' ') {
j--;
}
if(str.charAt(i) == str.charAt(j)){
i++;
j--;
}
else {
break;
}
}
if(i >= j){
System.out.println("Given string is palindrome");
}
else{
System.out.println("Given string is not a palindrome");
}
}
}
Output:
Input a string : Madam Given string is palindrome
