LeetCode-9回文数

问题:

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121
输出: true
示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
进阶:

你能不将整数转为字符串来解决这个问题吗

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

分析:

  首先想到将每一位上的数拆分出单独的整数,然后进行比较,如果将整数转换成字符串,然后利用java字符串的api可以轻松将问题解决,那么除了这种方式,我们还能想到哪种算法呢?

很容易想到利用数学知识解决,使用/和%两个运算搭配上循环取出每一位的值,存到数组中,然后利用数组循环进行比较,解决这个问题。

(leetcode上有更精妙的解决方式)

代码:

class Solution {
public boolean isPalindrome(int x) {
if(x<0){
return false;
}
if(x==0){
return true;
}
int[] nums = new int[10];
int i=0;
while(x!=0){
nums[i++] = x%10;
x=x/10;
}
int lengh = i--;
for(int j=0;j<lengh/2;j++,i--){
if(nums[j]!=nums[i]){
return false;
}
}
return true;
}
}

进阶挑战:回文链表

原文地址:https://www.cnblogs.com/gmzqjn/p/11671073.html

时间: 2024-10-12 03:50:58

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

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: 内存消耗

LeetCode Problem 9: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. You could a

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

(LeetCode)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 ex