LeetCode/com/zerroi/leetcode/ThreeTen/IsPalindrome.java

59 lines
1.8 KiB
Java
Raw Permalink Normal View History

2024-03-10 20:15:29 +08:00
package com.zerroi.leetcode.ThreeTen;
public class IsPalindrome {
public static void main(String[] args) {
SolutionSecond solutionSecond = new SolutionSecond();
solutionSecond.isPalindrome("race a car");
}
}
class SolutionSecond {
public boolean isPalindrome(String s) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if ((c >= 65 && c <= 90) || (c >= 97 && c <= 122) || (c >= 48 && c <= 59)) {
builder.append(String.valueOf(c).toLowerCase());
}
}
String str = builder.toString();
return builder.reverse().toString().equals(str);
}
public boolean isPalindromeTow(String s) {
class Solution {
public boolean isPalindrome(String s) {
boolean ans = true;
int l = 0;
int r = s.length() - 1;
while (true) {
if (l > r) {
break;
}
char lc = s.charAt(l);
char rc = s.charAt(r);
if (!Character.isLetterOrDigit(lc)) {
l++;
continue;
}
if (!Character.isLetterOrDigit(rc)) {
r--;
continue;
}
if (Character.toLowerCase(lc) == Character.toLowerCase(rc)) {
l++;
r--;
} else {
ans = false;
break;
}
}
return ans;
}
}
2024-03-14 20:58:23 +08:00
return false;
2024-03-10 20:15:29 +08:00
}
}