package work3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class huiwenchuan2 {
public boolean isPalindrome(String s) {
if(s.length()==0) {
return true;
}
int l=0;
int r=s.length()-1;
while(l<r) {
if(!Character.isLetterOrDigit(s.charAt(l))) {
//Character类 判断其是否是字母或者数字
l++;
}
else if(!Character.isLetterOrDigit(s.charAt(r))) {
//Character类 判断其是否是字母或者数字
r--;
}else {
if(Character.toLowerCase(s.charAt(l))!=Character.toLowerCase(s.charAt(r))) {
return false;
}
l++;//头部右移
r--;//尾部左移
}
}
return true;
}
public static void main(String[] args) throws IOException {
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String ss = buffer.readLine();
huiwenchuan2 huiwenchuan = new huiwenchuan2();
System.out.println(huiwenchuan.isPalindrome(ss));
}
}
package work3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.ListIterator;
public class huiwenchuan1 {
public int longestPalindrome(String s) {
if(s.length()==0) {
return 0;
}
HashSet<Character> hashSet=new HashSet<Character>();//声明hash表
char[] ch=s.toCharArray();//字符串转换为字符数组
int count=0;
for(int i=0;i<s.length();i++) {
if(!hashSet.contains(ch[i])) {
hashSet.add(ch[i]);
}else {
hashSet.remove(ch[i]);
count++;
}
}
return hashSet.isEmpty()?count*2:count*2+1;
}
public static void main(String[] args) throws IOException {
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String ss = buffer.readLine();
huiwenchuan1 m = new huiwenchuan1();
System.out.println(m.longestPalindrome(ss));
}
}