Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public String reverseWords(String s) {
- StringBuilder sb = new StringBuilder();
- int end = s.length() - 1;
- while (end >= 0) {
- if (s.charAt(end) == ' ') {
- end -= 1;
- continue;
- }
- int start = end - 1;
- while (start >= 0 && s.charAt(start) != ' ') {
- start -= 1;
- }
- sb.append(" ");
- sb.append(s.substring(start + 1, end + 1));
- end = start - 1;
- }
- if (sb.length() > 0) {
- sb.deleteCharAt(0);
- }
- return sb.toString();
- }
- }
- class Solution {
- public boolean isPalindrome(String s) {
- int left = 0;
- int right = s.length() - 1;
- while (left < right) {
- while (left < right && !Character.isLetterOrDigit(s.charAt(left))) {
- left += 1;
- }
- while (left < right && !Character.isLetterOrDigit(s.charAt(right))) {
- right -= 1;
- }
- char leftChar = Character.toLowerCase(s.charAt(left));
- char rightChar = Character.toLowerCase(s.charAt(right));
- if (leftChar != rightChar) {
- return false;
- }
- left += 1;
- right -= 1;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement