A palindrome is a string that reads the same backwards and forwards. Use a deque to implement a program that tests whether a line of text is a palindrome. The program reads a line, then outputs whether the input is a palindrome or not. Ex: If the input is: senile felines! the output is: Yes, "senile felines!" is a palindrome. Ex: If the input is: rotostor the output is: No, "rotostor" is not a palindrome. Ignore punctuation and spacing. Assume all alphabetic characters will be lowercase. Special case: A one-character string is a palindrome. Hint: The deque must be a Deque of Characters, but ordinary chars will be automatically converted to Characters when added to the deque.
I need help with this Java problem as it's explained in the image below:
Palindrome (Deque)
A palindrome is a string that reads the same backwards and forwards. Use a deque to implement a program that tests whether a line of text is a palindrome. The program reads a line, then outputs whether the input is a palindrome or not.
Ex: If the input is:
senile felines!
the output is:
Yes, "senile felines!" is a palindrome.
Ex: If the input is:
rotostor
the output is:
No, "rotostor" is not a palindrome.
Ignore punctuation and spacing. Assume all alphabetic characters will be lowercase.
Special case: A one-character string is a palindrome.
Hint: The deque must be a Deque of Characters, but ordinary chars will be automatically converted to Characters when added to the deque.
Java Code:
import java.util.Scanner;
import java.util.LinkedList;
import java.util.Deque;
public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String line = scnr.nextLine();
// Remove all non-alphabetic characters and convert to lowercase
line = line.replaceAll("[^a-zA-Z]", "").toLowerCase();
Deque<Character> deque = new LinkedList<>();
// Add characters to the deque
for (char c : line.toCharArray()) {
deque.addLast(c);
}
boolean isPalindrome = true;
// Compare characters at both ends
while (deque.size() > 1) {
char first = deque.removeFirst();
char last = deque.removeLast();
if (first != last) {
isPalindrome = false;
break;
}
}
if (isPalindrome) {
System.out.println("Yes, \"" + line + "\" is a palindrome.");
} else {
System.out.println("No, \"" + line + "\" is not a palindrome.");
}
}
}
![A palindrome is a string that reads the same backwards and forwards. Use a deque to implement a program that tests whether a line of
text is a palindrome. The program reads a line, then outputs whether the input is a palindrome or not.
Ex: If the input is:
senile felines!
the output is:
Yes, "senile felines!" is a palindrome.
Ex: If the input is:
rotostor
the output is:
No, "rotostor" is not a palindrome.
Ignore punctuation and spacing. Assume all alphabetic characters will be lowercase.
Special case: A one-character string is a palindrome.
Hint: The deque must be a Deque of Characters, but ordinary chars will be automatically converted to Characters when added to the deque.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F4e135d5c-f867-4afd-9f0d-b505f4f19664%2Ffe048be3-be0a-4818-b79c-403839e918a6%2Fhfnq0r8_processed.png&w=3840&q=75)
Unlock instant AI solutions
Tap the button
to generate a solution
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)