aboutsummaryrefslogtreecommitdiff
path: root/Palindrome.java
diff options
context:
space:
mode:
Diffstat (limited to 'Palindrome.java')
-rw-r--r--Palindrome.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/Palindrome.java b/Palindrome.java
new file mode 100644
index 0000000..2c1ca47
--- /dev/null
+++ b/Palindrome.java
@@ -0,0 +1,30 @@
+import java.lang.*;
+import java.util.*;
+
+class Palindrome {
+ public static boolean isPalindrome(String s) {
+ s = s.toLowerCase();
+ char[] nonAlpha = s.toCharArray();
+ ArrayList<Character> alpha = new ArrayList<Character>();
+ for (char c : nonAlpha) {
+ if (Character.isLetter(c))
+ alpha.add(c);
+ }
+
+ int i = 0;
+ int j = alpha.size() - 1;
+ while (i < j) {
+ if (alpha.get(i) != alpha.get(j))
+ return false;
+ i++;
+ j--;
+ }
+
+ return true;
+ }
+
+ public static void main(String[] args) {
+ String s = "A man, a plan, a canal: Panama";
+ System.out.println(isPalindrome(s));
+ }
+}