LeetCode 9 Palindrome Number(回文数字判断)

Long Time No See !

题目链接https://leetcode.com/problems/palindrome-number/?tab=Description

首先确定该数字的位数。按照已知数字x对10进行多次求余运算,可以得到数字位数。

具体思路:

1、每次取出该数字的最高位和最低位进行比较。

2、如果不相等则直接返回FALSE,

3、如果相等修改x的值(去掉最高位也同时去掉最低位)其中去掉最高位可以通过求模运算,去掉最低位可以采用除以10

4、进行循环直到x的值不大于0为止

参考代码:

package leetcode;

/***
 *
 * @author pengfei_zheng
 * 判断回文数字
 */
public class Solution09 {
    public boolean isPalindrome(int x) {
        if(x < 0) //小于0返回false
            return false;
        int len = 1;
        while(x/len >= 10)
            len *=10;//求出x的位数对应的pow(10,n)
        while(x>0){
            int left = x / len;//取x的最高位
            int right = x % 10;//取x的最低位

            if(left != right)//有不等则返回false
                return false;
            else {
                x = (x % len) / 10;//修改x的值 求模运算去掉最高位 除法运算去掉最低位
                len /= 100;//修改x的位数对应的pow(10,n)
            }
        }
        return true;
    }
};
时间: 2024-10-26 03:52:31

LeetCode 9 Palindrome Number(回文数字判断)的相关文章

LeetCode 9 Palindrome Number 回文数字

题目:Determine whether an integer is a palindrome. Do this without extra space. 翻译:判断一个数字是否是回文数,不要额外空间. 解题思路:因为数字既然传过去了,就不会有越界的问题.每次只需要取最前面和最后面的那一位数字进行比较,相同则继续,不同则返回. 首先要获取数字的位数,假设数字是12344321,一共有8位. 其次是要每次取前后各一位来进行比较,用数字除以1后面7个0得到第一位,用数字对10取余数得到最后一位. 此

LeetCode (30) Palindrome Number (回文数字)

题目描述 Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negative integers be palindromes? (ie, -1) -- 负数不为回文 If you are thinking of converting the integer to string, note the restriction of using extra space.

[LeetCode]68. Palindrome Number回文数字

Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string, note the restriction of using ext

LeetCode:Palindrome Number - 回文数

1.题目名称 Palindrome Number(回文数) 2.题目地址 https://leetcode.com/problems/palindrome-number 3.题目内容 英文:Determine whether an integer is a palindrome. Do this without extra space. 中文:确认一个整数是否是回文数 4.解题方法1 将数字翻转后判断与原数字是否相等,可以参考LeetCode第7题(Reverse Integer)的解题思路.J

leetcode 9 Palindrome Number 回文数

Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string, note the restriction of using ext

[LeetCode]9. Palindrome Number回文数

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward. Example 1: Input: 121 Output: true Example 2: Input: -121 Output: false Explanation: From left to right, it reads -121. From right to

Leetcode——3 Palindrome Number(回文数)

Problem: Determine whether an integer is a palindrome. Do this without extra space. 简单的回文数,大一肯定有要求写过,不过从基础开始尝试吧. Solution: public class Solution { public boolean isPalindrome(int x) { int n=1; int copyx=x; if(x<0)return false; if(x<10)return true; w

回文数字判断

/** * 回文数字判断 * * @param num * @since 0.0.1 */ public void huiwen(String num){ Integer temp = (num.length())/2 ; System.out.println(temp); boolean flag = true; for (int i = 0; i < num.length(); i++) { if (temp > 0) { if (i >= temp) { break; } } Sy

LeetCode Valid Palindrome 有效回文(字符串)

1 class Solution { 2 public: 3 bool isPalindrome(string s) { 4 if(s=="") return true; 5 if(s.length()==1) return true; //单个字符,对称 6 char *p,*q; 7 p=&s[0]; //p指向开头 8 q=&s[s.length()-1]; //q指向末尾 9 while(p!=q){ 10 //测试字符串里是否有字母或数字,若没有,则立刻返回