62,620
社区成员
发帖
与我相关
我的任务
分享
public class Test2 {
public static void main(String[] args) {
int i = 12321;
String s = String.valueOf(i);
System.out.println(checkPalindrome(s));
}
public static boolean checkPalindrome(String s){
if(s.length() <= 1){
return true;
}else if(!(Character.toString(s.charAt(0))).equals(Character.toString(s.charAt(s.length() - 1)))){
return false;
}else{
return checkPalindrome(s.substring(1, s.length() - 1));
}
}
}
public boolean isPalindrome(char[] text){
boolean flag = true ;
int i = 0;
int textLen = 0 ;
if (null != text){
textLen = text.length ;
}else{
return false ;
}
int middle = (textLen-1)/2 ;
for(i = 0; i <= middle ; i++){
if(text[i] != text[textLen-i-1]){
flag = false ;
break ;
}
}
return flag ;
}
public boolean isPalindrome(char[] text){
boolean flag = true ;
int i = 0;
int textLen = 0 ;
if (null != text){
textLen = text.length ;
}else{
return false ;
}
int middle = (textLen-1)/2 ;
for(i = 0; i <= middle ; i++){
if(text[i] != text[textLen-i-1]){
flag = false ;
break ;
}
}
return flag ;
}
public static boolean checkPalindromic2(int n)
{
//w:数字位数 ,这个循环用来求得数的位数
int w=0,temp=n;
while(temp!=0)
{
w++;
temp/=10;
}
//d:求得位数的一半长
int d = w/2;
int tmp=0;
//求出一个数后一半的倒序,并且经过此循环n存放的是截去后一半的结果
//例:奇数位:12321 求出的tmp=12, n=123
// 偶数位:598895 求出的tmp=598, n=598
while(d--!=0){
temp = n%10;
tmp = tmp*10+temp;
n/=10;
}
//判断位数w的奇偶
if(w%2==0){
return tmp==n;
}
else
{
return tmp==n/10;
}
}
public static boolean checkPalindromic(int n)
{
//w:数字位数 ,这个循环用来求得数的位数
int w=0,temp=n;
while(temp!=0)
{
w++;
temp/=10;
}
//d:求得位数的一半长
int d = w/2;
int tmp=0;
//求出一个数后一半的倒序,并且经过此循环n存放的是截去后一半的结果
//例:奇数位:12321 求出的tmp=12, n=123
// 偶数位:598895 求出的tmp=598, n=598
while(d--!=0)
{
temp=n%(n/10*10);
int p = d;
while(p--!=0)
{
temp*=10;
}
tmp+=temp;
n/=10;
}
//判断位数w的奇偶
if(w%2==0){
return tmp==n;
}
else
{
return tmp==n/10;
}
}
public static void main(String args[]) {
for(int i=1;i<1000;i++)
{
if(checkPalindromic(i))
System.out.println(i);
}
}
static boolean checkPalindromic(int n){
int k=n<0?-n:n;
if(n<10)
return false;
return Integer.parseInt(new StringBuffer(""+k).reverse().toString())==k;
}