精华内容
下载资源
问答
  • 回文数字判断

    2021-02-18 15:04:25
    有这样一类数字,他们顺着看和倒着看是相同的,例如:121,656,2332等,这样的数字就称为:回文数字。编写一个函数,判断某数字是否是回文数字。 要求实现方法: public String isPalindrome(String strIn); 【输入...

    第四题

    回文数字判断。
    题目描述:
    有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字。编写一个函数,判断某数字是否是回文数字。
    要求实现方法:
    public String isPalindrome(String strIn);
    【输入】strIn: 整数,以字符串表示;
    【返回】true: 是回文数字;
    false: 不是回文数字;
    【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出

    /**
     * 回文数字判断。
     * 题目描述:
     * 有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字。编写一个函数,判断某数字是否是回文数字。
     * 要求实现方法:
     * public String isPalindrome(String strIn);
     * 【输入】strIn: 整数,以字符串表示;
     * 【返回】true: 是回文数字;
     *      false: 不是回文数字;
     * 【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
     * @author lx
     */
    public class Test05 {
    	
    	public static void main(String[] args) {
    		System.out.println(isPalindrome("2332"));
    	}
    	
    	/**
    	 * 将此字符串和此字符串左右反转后进行比较,相等就是回文,反之则反
    	 * @param strIn
    	 * @return
    	 */
    	public static String isPalindrome(String strIn) {
    		// 将字符串反转后的结果
    		String opposite = "";
    		StringBuilder sb = new StringBuilder();
    		for (int i = strIn.length() - 1; i >= 0; i--) {
    			sb.append(strIn.charAt(i));
    		}
    		opposite = sb.toString();
    		
    		if (opposite.equals(strIn)) {
    			return "true";
    		} else {
    			return "false";
    		}
    	}
    	
    }
    
    展开全文
  • 回文数判断

    2020-02-13 21:28:26
    回文数判断 判断一个数是否是回文数 首先求绝对值,统一转换为非负数; 对于非负数,判断最高位和最低位是否相等,相等则继续判断中间数是否回文数。

    回文数判断

    判断一个数是否是回文数

    【题目】

    定义回文数的概念如下:

    1. 如果一个非负数左右完全对应,则该数是回文数,例如:121,22等。
    2. 如果一个负数的绝对值左右完全对应,也是回文数,例如:-121,-22等。
    3. 给定一个32位整数n,判断n是否是回文数。

    算法思路

    首先求绝对值,统一转换为非负数;
    对于非负数,判断最高位和最低位是否相等,相等则继续判断中间数是否回文数
    e.g 32123
    最高位32123 // 10000 = 3,最低位32123 % 10 = 3,两者相等,判断中间数212((32123 % 10000) // 10);
    最高位212 // 100 = 2,最低位212 % 10 = 2,两者相等,判断中间数1((212 % 100) // 10);
    最高位1 // 1 = 1,最低位1 % 1 = 1,两者相等,判断0((1 % 1) // 10);
    因此32123为回文数。

    关于回文数判断,还有其他形式的题目。e.g. 判断链表结点组成的数是否构成回文数

    相应代码

    # 判断一个数是否是回文数
    def is_palindrome(n):
        cur = abs(n)
        help = 1
        while cur // help >= 10:
            help *= 10
        while cur != 0:
            first = cur // help
            last = cur % 10
            if first != last:
                return False
            cur = (cur % help) // 10
            help = help // 100
        return True
    
    # 简单测试
    if __name__ == '__main__':
        n = 321123
        print(is_palindrome(n))
    

    有任何疑问和建议,欢迎在评论区留言和指正!

    感谢您所花费的时间与精力!

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,855
精华内容 2,742
关键字:

回文数判断