判断其是否为一个回文串,java实现

来源:互联网 发布:淘宝创立于哪一年 编辑:程序博客网 时间:2024/06/06 19:08
给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。您在真实的面试中是否遇到过这个题? Yes样例"A man, a plan, a canal: Panama" 是一个回文。"race a car" 不是一个回文。注意你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。在这个题目中,我们将空字符串判定为有效回文。挑战O(n) 时间复杂度,且不占用额外空间。
package huiwenchuan_1;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);String str = input.nextLine();System.out.println(isHuiWen(str));}public static boolean isHuiWen(String s) {StringBuffer sb = new StringBuffer();for (int i = 0; i < s.length(); i++) {if (Character.isLetter(s.charAt(i))|| Character.isDigit(s.charAt(i))) {sb.append(s.charAt(i));}}String str2 = sb.toString().toLowerCase();System.out.println(str2);sb.delete(0, sb.length());for (int j = 0; j <= (str2.length() + 1) / 2 - 1; j++) {sb.append(str2.charAt(j) == str2.charAt(str2.length() - 1 - j));}// forreturn !sb.toString().contains("f");}// /isHuiWen}
A man, a plan, a canal: Panama
amanaplanacanalpanama
true

0 0
原创粉丝点击