Advertisement
LeatherDeer

Untitled

Nov 22nd, 2022
631
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.46 KB | None | 0 0
  1. class Solution {
  2.     public String reverseWords(String s) {
  3.         StringBuilder sb = new StringBuilder();
  4.         int end = s.length() - 1;
  5.         while (end >= 0) {
  6.             if (s.charAt(end) == ' ') {
  7.                 end -= 1;
  8.                 continue;
  9.             }
  10.            
  11.             int start = end - 1;
  12.            
  13.             while (start >= 0 && s.charAt(start) != ' ') {
  14.                 start -= 1;
  15.             }
  16.             sb.append(" ");
  17.             sb.append(s.substring(start + 1, end + 1));
  18.             end = start - 1;
  19.         }
  20.         if (sb.length() > 0) {
  21.             sb.deleteCharAt(0);
  22.         }        
  23.         return sb.toString();
  24.  
  25.     }
  26. }
  27.  
  28. class Solution {
  29.     public boolean isPalindrome(String s) {
  30.         int left = 0;
  31.         int right = s.length() - 1;
  32.        
  33.         while (left < right) {
  34.             while (left < right && !Character.isLetterOrDigit(s.charAt(left))) {
  35.                 left += 1;
  36.             }
  37.            
  38.             while (left < right && !Character.isLetterOrDigit(s.charAt(right))) {
  39.                 right -= 1;
  40.             }
  41.            
  42.             char leftChar = Character.toLowerCase(s.charAt(left));
  43.             char rightChar = Character.toLowerCase(s.charAt(right));
  44.             if (leftChar != rightChar) {
  45.                 return false;
  46.             }
  47.            
  48.             left += 1;
  49.             right -= 1;
  50.         }
  51.        
  52.         return true;
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement