题目:
暴力思路:代码: 优化思路:
代码:
题目: 暴力思路:判断该字符是否合法,然后取出s的值,用StringBuffer接收s的值进行reverse和原数比较
代码:package LeetCode.MarchSoft.SwordTowards.Day3Sword;
public class ZZ18 {
public static void main(String[] args) {
String s = "OP";
System.out.println(isPalindrome(s));
}
public static boolean isPalindrome(String s) {
String ss =s.toLowerCase();
int countShu = 0; //测量ss的有效长度
int count = 0;
for (int i = 0; i ='a'&&ss.charAt(i)<='z'||ss.charAt(i)>='0'&&ss.charAt(i)<='9'){
countShu++;
}
}
char[] nums = new char[countShu]; //这里使用countShu给数组赋值
for (int i = 0; i ='a'&&ss.charAt(i)<='z'||ss.charAt(i)>='0'&&ss.charAt(i)<='9'){
nums[count] = ss.charAt(i);
count++;
}
}
String s1 = String.valueOf(nums); //取值
int left =0,right = nums.length-1;
boolean flag = true;
StringBuffer sb = new StringBuffer(s1).reverse(); //转换
for (int i = 0; i
优化思路:
一样的思路,只不过代码简单了,但是用了char的isLetterOrDigit方法
代码:
class Solution {
public static boolean isPalindrome(String s) {
StringBuilder str = new StringBuilder();
for (int i = 0; i 


