回文数与回文字符串问题

       华为2013校园招聘的上机试题,记得有两道,好忧伤的是当时被第一道试题卡壳了,印象尤深,就是回文数问题,时间过去一年多了,记得题目:给出一个字符串,判断是否是回文字符串? 刚开始的思路是将字符串转为数组n(字符串长度),再根据arr[i]!=arr[n-i-1]。反正是没做出来,可能是第一次参加招聘和上机做题(其实真正原因是基础很薄弱哭)  

    最近又碰到这样的题目,以此小记逝去的光阴。

判断回文数:

import java.util.Scanner;
public class PalindromicNum {

    public static void main(String[] args) {
        Scanner sin = new Scanner(System.in);
        int PcNum = sin.nextInt();
        int PalindromicNum = PcNum;
        int[] arr = new int[100];
        int i =0;
        while(PcNum>0)
        {
            arr[i] = PcNum % 10; //从个位开始,将每个位上的整数放到数组arr[]中,如PalindromicNum=12342321, 则arr[0]=1,....arr[3]=2,.........
            PcNum = PcNum/10; //减少一位,如1234/10=123,524/10=52
            i++;
        }
        for(int k=0;k<i/2;k++){
            if(arr[k]!=arr[i-k-1]){
            System.out.println(PalindromicNum+"不是回文数");
           return;
        }
    }
        System.out.println(PalindromicNum+"是回文数");

    }
}

PS:判断回文字符串(StringBuffer的reverse方法还是第一次知道)

import java.util.Scanner;

public class PalindromicStr {

    public static void main(String[] args) {
        Scanner sin = new Scanner(System.in);
        String str = sin.next();
        StringBuffer sb =  new StringBuffer(str);
        StringBuffer str1= sb.reverse();//将字符串逆序
        System.out.println(str1);
        String sstr = str1.toString();
        if(str.equals(sstr)){
            System.out.println(str+"是回文字符串");
        }
        else{
            System.out.println(str+"不是回文字符串");
        }
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值