125.验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false

思路:

  • 双指针
  • 类函数
  • 大小写转换
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.wereash.scut_hot100;

import java.util.Scanner;

/**
* @Author: WereAsh
* @Date:2026-01-21 19:25
**/
public class Solution125 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
int left=0,right=str.length()-1;
while(left<right){
while(left<right&&!Character.isLetterOrDigit(str.charAt(left))){
left++;
}
while(left<right&&!Character.isLetterOrDigit(str.charAt(right))){
right--;
}
if(Character.toLowerCase(str.charAt(left))!=Character.toLowerCase(str.charAt(right))){
System.out.println("不是回文串!");
return;
}
left++;
right--;
}
System.out.println("是回文串!");
}
}