原题链接:#9 Palindrome Number
要求:
判断一个整数是否是回文数,不要使用额外的存储空间
难度:简单
分析:
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。
注:没有看到有关负数是否可以是回文数的明确结论,例如-1,-121等。根据LeetCode Judging结果暂认为所有负数都不是回文数
解决方案:
Java - 388ms
public boolean isPalindrome(int x) { if(x < 0){ return false; } int originNum = x; int num = x % 10; x = x / 10; while(x != 0){ num *= 10; num += x%10; x /= 10; } return num==originNum; }
Python - 269ms
def isPalindrome(self, x): if (x < 0): return False originNum = x num = x % 10 x /= 10; while (x!=0): num *= 10 num += x%10 x /= 10 return num==originNum
相关推荐
* [Math](https://github.com/kamyu104/LeetCode#math) * [Two Pointers](https://github.com/kamyu104/LeetCode#two-pointers) * [Sort](https://github.com/kamyu104/LeetCode#sort) * [Recursion]...
- **验证回文字符串(Valid Palindrome)**: 判断一个字符串是否是回文。 - **最长回文子串(Longest Palindromic Substring)**: 找出字符串中最长的回文子串。 - **通配符匹配(Wildcard Matching)**: 实现通配符‘*’...
- **Palindrome Number**:判断一个数字是否是回文数。 - **Search a 2D Matrix**:在二维矩阵中搜索目标值。 - **Search for a Range**:在一个排序数组中查找目标值的第一个和最后一个位置。 - **Search ...
- **回文数(Palindrome Number)**: 判断一个整数是否是回文数。 - **搜索二维矩阵(Search a 2D Matrix)**: 在一个m x n 的二维矩阵中查找一个特定的目标值。 - **搜索区间(Search for a Range)**: 在一个按升序排列...
- "回文数"(Palindrome Number)问题则是判断一个整数是否为回文。 **链表(LinkedList)** 链表是一种基本的数据结构,对于链表的操作可以很好地考察候选人对指针操作的理解。 - 题目包括合并两个有序链表(Merge...
2. LeetCode: LeetCode 是一个在线编程平台,专门用于为编程面试准备,提供了大量的编程题目,以及针对不同公司、职位的面试题目模拟。 3. Array/Strings(数组/字符串): 在编程中,数组和字符串是两种常用的数据...
- Math(数学):涉及一些基础数学概念和运算。 - Prime(质数):质数是大于1的自然数,除了1和它本身以外不再有其他因数的数。 - Knapsack(背包问题):一种组合优化的问题。给定一组物品,每种物品都有自己的...