Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public boolean isPalindrome(String s) {
- // convert to lower cases
- s = s.toLowerCase();
- Integer i_left = -1;
- Integer i_right = s.length();
- while (true) {
- Character c_left = null;
- Character c_right = null;
- // move i_left, i_right to the meaning position
- while (true) {
- i_left++;
- if (i_left == s.length()) break;
- if (is_character(s.charAt(i_left))) {
- c_left = s.charAt(i_left);
- break;
- }
- }
- while (true) {
- i_right--;
- if (i_right < 0) break;
- if (is_character(s.charAt(i_right))) {
- c_right = s.charAt(i_right);
- break;
- }
- }
- if (i_left > i_right) break;
- if (c_left != c_right) {
- // wrong
- return false;
- }
- }
- return true;
- }
- public boolean is_character(char c) {
- if (c >= 'a' && c <= 'z') {
- return true;
- }else if (c >= '0' && c <= '9') {
- return true;
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement