题目:判断规定字符串是否为回文串。
- 首先我们应该理解什么是回文串。
回文串就是从正面读和反面读是一样的字符串,比如level,正面读是level,反面读也是level。 - java程序实现。
package com.wang.suan;
/**
* 判断给定的字符串是否是回文串。
* 比如levle,noon等字符串
* 思路:1. 一个指针指向开始位置i = 0;一个指针指向末尾位置j=length-1;
* 2. 比较i和j指向的字符是否相等,如果不相等,则比较结束。如果相等,则i指针向后移动,j指针向前移动。继续下一次比较。
* 3. 直到i,j位置居中即停止比较
* @author wxe
* @since 0.0.1
*/
public class PalindromeString {
public static void main(String[] args) {
String str = "no67on";
System.out.println(isPalindromeString(str));
}
public static boolean isPalindromeString(String str){
int i = 0;
int j = str.length() - 1;
//空字符串或者只有一个字符的字符串必然是回文串
if (str.length() == 0 || str.length() == 1) {
return true;
}
while (i < j) {
if (Character.toLowerCase(str.charAt(i)) != Character.toLowerCase(str.charAt(j))) {
return false;
} else {
i ++;
j --;
}
}
return true;
}
}