leetcode-9.回文数(水仙花数)

leetcode-9.回文数(水仙花数)

题意:给定整数,判断是否是水仙花数(回文数),返回判断结果

算法:

1.判断负数, 如果是负数直接返回false
2.将整数逐位拆解,用数组存储
3.遍历数组,若本位与后面对应位不等返回false.

Code

 1 class Solution {
 2 public:
 3     bool isPalindrome(int x) {
 4         if(x < 0)
 5             return false;//负数,直接返回false
 6         int perBit[32+2];//数组,用于存储数字每一位
 7         int count=0;
 8         bool flag = true;
 9         while(x)//数字数组化
10         {
11             perBit[count] = x%10;
12             x /= 10;
13             count++;
14         }
15         for(int i=0; i<count; i++)//遍历数组(其实是遍历一般)
16         {
17             if(perBit[i] != perBit[count-1-i])//对应位置值不等,不是,返回false
18             {
19                 return false;
20             }
21             if(i == count/2)//扫一半就够了
22                 break;
23         }
24         return flag;//若是,返回true
25     }
26 };

原文地址:https://www.cnblogs.com/yocichen/p/10225997.html

时间: 2024-11-08 21:07:45

leetcode-9.回文数(水仙花数)的相关文章

leetcode 9 回文数

判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121输出: true示例 2: 输入: -121输出: false解释: 从左向右读, 为 -121 . 从右向左读, 为 121- .因此它不是一个回文数.示例 3: 输入: 10输出: false解释: 从右向左读, 为 01 .因此它不是一个回文数.进阶: 你能不将整数转为字符串来解决这个问题吗? 来源:力扣(LeetCode)链接:https://leetcode-cn.com

【LeetCode】回文数

class Solution { public: bool isPalindrome(int x) { string str; str=to_string(x); int len=str.size(); for(int i=0;i<=len/2;i++){ if(str[i]!=str[len-i-1]) return false; } return true; } }; 还没有解决的问题:你能不将整数转为字符串来解决这个问题吗?(思考ing) 原文地址:https://www.cnblogs.

【数据结构与算法】数学——回文数

回文数 LeetCode:回文数 题目描述: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例: 输入: 121 输出: true 思想: x%10得到尾数,x/d(d为10的x的位数次方)得到首位数字,比较二者是否相同: 注意:循环条件必须是x>0而不是x>10.当x为个位数时,如果是中心位置必然是true,但如果是1000021这种情况(不是回文数),x最后为2,此时x%10跟x/d不相等需要再判断一轮. 代码: class Solution

javaScript实现回文数、水仙花数判断和输出斐波那契数列

    // 判断一个数是不是回文数                    // 方法一:先将数字转换成字符串,然后依次判断第一个和最后一个数字,第二个和倒数第二个数字...是否相等     function PalindromeNumber1(num){         var str = num.toString();         var flag = true;         var len = str.length;         for(var i = 0; i < (len 

python中3位数中的水仙花数,和5位数中回文数的个数

3位数中的水仙花数打印num=100 e=0while num<1000: b=num%10 c=num//10%10 d=num//100 if b**3+c**3+d**3==num: e+=1 print (num) num+=1print (e) 5位数中的回文数的个数 num=10000e=0while num<=99999: a=num//10000 b=num//1000%10 c=num%100//10 d=num%10 if a==d and b==c: e+=1 print

LeetCode 9 Palindrome Number (回文数)

翻译 确定一个整数是否是回文数.不能使用额外的空间. 一些提示: 负数能不能是回文数呢?(比如,-1) 如果你想将整数转换成字符串,但要注意限制使用额外的空间. 你也可以考虑翻转一个整数. 然而,如果你已经解决了问题"翻转整数(译者注:LeetCode 第七题), 那么你应该知道翻转的整数可能会造成溢出. 你将如何处理这种情况? 这是一个解决该问题更通用的方法. 原文 Determine whether an integer is a palindrome. Do this without ex

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)回文数

Leetcode(9)回文数 [题目表述]: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 第一次:直接全部转 执行用时:148 ms: 内存消耗:13.4MB 效果:还行 class Solution: def isPalindrome(self, x: int) -> bool: s=str(x) if s==s[::-1]: return True else: return False 第二种方法:反转一半数字 执行用时:156 ms: 内存消耗