Advertisement
uopspop

Untitled

Oct 5th, 2021
785
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.34 KB | None | 0 0
  1. class Solution {
  2.    
  3.     public boolean is_alphanumeric(char c) {
  4.         if (c >= 'a' && c <= 'z') return true;
  5.         if (c >= 'A' && c <= 'Z') return true;
  6.         if (c >= '0' && c <= '9') return true;
  7.        
  8.         return false;        
  9.     }
  10.    
  11.     public boolean isPalindrome(String s) {
  12.        
  13.         int i_left = 0;
  14.         int i_right = s.length() - 1;
  15.        
  16.         while (true) {
  17.            
  18.             Character c_left = s.charAt(i_left);
  19.             while (is_alphanumeric(c_left) == false) {
  20.                 i_left++;
  21.                 if (i_left > i_right) break;
  22.                 c_left = s.charAt(i_left);
  23.             }
  24.            
  25.             if (i_left > i_right) break;
  26.            
  27.             Character c_right = s.charAt(i_right);
  28.             while (is_alphanumeric(c_right) == false) {
  29.                 i_right--;
  30.                 if (i_left > i_right) break;
  31.                 c_right = s.charAt(i_right);
  32.             }
  33.            
  34.             if (i_left > i_right) break;
  35.            
  36.             if (Character.toLowerCase(c_left) != Character.toLowerCase(c_right)) {
  37.                 return false;
  38.             }
  39.            
  40.             i_left++;
  41.             i_right--;
  42.             if (i_left > i_right) break;
  43.            
  44.         }
  45.        
  46.         return true;
  47.        
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement