回文数

LeetCode9.回文数

此生再无相见时 提交于 2019-12-25 15:28:49
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 解释:回文数字,例如242,将数字全部反转242,符合。不允许借助数组。 var isPalindrome = function(x) { var num = String(x); var newStr = num.split('').reverse().join(''); if(x == newStr) {return true;} else{ return false;} };    来源: https://www.cnblogs.com/xiyu-8023/p/7553238.html

9. 回文数

拥有回忆 提交于 2019-12-25 15:28:28
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 1/** 2 * @param {number} x 3 * @return {boolean} 4 */ 5var isPalindrome = function(x) { 6 var s = String(x) 7 var l = s.length; 8 for (var i = 0; i < l; i++) { 9 var m = l-1-i10 if(m < i) break11 else {12 if (s[i] !== s[m]) return false13 }14 }15 return true16} 来源: https://www.cnblogs.com/rencoo/p/9744811.html

回文数

亡梦爱人 提交于 2019-12-25 15:28:14
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗? class Solution { public: bool isPalindrome(int x) { if(x<0||(x%10==0&&x!=0))//1.小于0肯定不是(包括一位数);2.个位上为0肯定不是 return false; int tmp=0; while(x>tmp) { tmp=tmp*10+x%10; x/=10; } return x==tmp||x==tmp/10; } }; 来源: https://www.cnblogs.com/tianzeng/p/11537920.html

LeetCode-9-回文数

非 Y 不嫁゛ 提交于 2019-12-24 06:41:37
LeetCode-9-回文数 题意描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 进阶: 你能不将整数转为字符串来解决这个问题吗? 示例: 示例1: 输入 : 121 输出 : true 示例2: 输入 : - 121 输出 : false 解释 : 从左向右读 , 为 - 121 。 从右向左读 , 为 121 - 。因此它不是一个回文数。 示例3: 输入 : 10 输出 : false 解释 : 从右向左读 , 为 01 。因此它不是一个回文数。 解题思路: Alice: 这题咱做过啊,字符串反转一下就得了,用Python写顶多三行代码。 Bob: O(∩_∩)O哈哈~ Alice: 你笑什么? Bob: 我们受过专业的训练…进阶的那里写着不要用字符串。 Alice: 你是已经有解法了是吗? Bob: 两种!!第一种就是直接构造一个反转后的数,然后判断两个数字是否相等。第二种就是按位比较,如果对应的位上有不相等的就不是回文数,如果都没有就是回文数。 Alice: 第一种很好写,第二中看起来挺好,但我觉得没必要,大材小用,能用简单的方法为什么要用复杂的方法呢? Bob: (〃‘▽’〃) 因为,,万一面试的时候问你还有没有别的解法呢!! Alice:(〃‘▽’〃) 。。。 代码: Python方法一:转换为字符串后

9. 回文数

谁说胖子不能爱 提交于 2019-12-22 14:16:53
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 输入: 121 输出: true 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 首先负数都不是排除,然后倒序取一半进行对比,避免溢出 public class Solution { public bool IsPalindrome(int x) { // 当 x < 0 时,x 不是回文数。 // 同样,如果数字的最后一位是 0,为了使该数字为回文, // 则其第一位数字也应该是 0 // 只有 0 满足这一属性 if(x < 0 || (x % 10 == 0 && x != 0)) { return false; } int revertedNumber = 0; while(x > revertedNumber) { revertedNumber = revertedNumber * 10 + x % 10; x /= 10; } // 当数字长度为奇数时,我们可以通过 revertedNumber/10 去除处于中位的数字。 // 例如,当输入为 12321 时,在 while 循环的末尾我们可以得到 x = 12,revertedNumber = 123, // 由于处于中位的数字不影响回文

腾讯29-回文数

孤者浪人 提交于 2019-12-21 20:07:22
腾讯29-回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 class Solution : def isPalindrome ( self , x : int ) - > bool : #与字符串回文用dp思路解法不一样,】 #数字回文采用的是把数字反向输出的结果和原来数字相比较 if ( x % 10 == 0 and x > 0 ) or x < 0 : return False else : origin = x res = 0 while ( x ) : res = res * 10 + x % 10 x = int ( x / 10 ) return res == origin 来源: CSDN 作者: 波波虾遁地兽 链接: https://blog.csdn.net/zlb872551601/article/details/103646539

1079 延迟的回文数 (20分)

 ̄綄美尐妖づ 提交于 2019-12-18 01:25:28
1079 延迟的回文数 (20分) 给定一个 k+1 位的正整数 N,写成 a​k​​ ⋯a​1​​ a​0​​ 的形式,其中对所有 i 有 0≤a ​i​​ <10 且 a​k​​ >0。N 被称为一个回文数,当且仅当对所有 i 有 a​i​​ =a​k−i​​ 。零也被定义为一个回文数。 非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再将逆转数与该数相加,如果和还不是一个回文数,就重复这个逆转再相加的操作,直到一个回文数出现。如果一个非回文数可以变出回文数,就称这个数为延迟的回文数。(定义翻译自 https://en.wikipedia.org/wiki/Palindromic_number ) 给定任意一个正整数,本题要求你找到其变出的那个回文数。 输入格式: 输入在一行中给出一个不超过1000位的正整数。 输出格式: 对给定的整数,一行一行输出其变出回文数的过程。每行格式如下 A + B = C 其中 A 是原始的数字, B 是 A 的逆转数, C 是它们的和。 A 从输入的整数开始。重复操作直到 C 在 10 步以内变成回文数,这时在一行中输出 C is a palindromic number. ;或者如果 10 步都没能得到回文数,最后就在一行中输出 Not found in 10 iterations. 。 输入样例 1: 97152 输出样例 1:

题9、 回文数

流过昼夜 提交于 2019-12-16 02:58:57
题9、 回文数 题目 思路 代码 题目 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 思路 这道题有几个思路 第一个: 直接就针对这一道题,用除法得到要对比的两个数,相同就继续进行下一次判断,不同就直接终止循环,返回结果false。 第二个: 针对判断回文数这一大类,直接将输入的数据转换成字符串,每次取相对应的两个字符,对比是否相同,相同就继续,不同就返回结果false。 代码 public class T009 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println( isPalindrome( 23 ) ); } public static boolean isPalindrome(int x) { if( x < 0 ) return false; else if( x < 10 ) return true;

20191211——回文数 第九题

左心房为你撑大大i 提交于 2019-12-16 02:31:53
我自己做出来的 class Solution { public boolean isPalindrome ( int x ) { String y = "" + x ; StringBuffer z = new StringBuffer ( y ) ; if ( z . reverse ( ) . toString ( ) . equals ( y ) ) { return true ; } else { return false ; } } } 先把这个数字转换成字符串,然后再把字符串String类转换StringBuffer类,然后StringBuffer有一个反转reverse的方法,然后反转之后还需要toString方法来转换成字符串,然后进行比较。 上网找到java中字符串反转的形式 第一种就是转换成StringBuffer这种形式然后去调用这个reverse的方法 // StringBuffer public static String reverse1 ( String str ) { return new StringBuilder ( str ) . reverse ( ) . toString ( ) ; } 第二种利用 String 的 toCharArray 方法先将字符串转化为 char 类型数组,然后将各个字符进行重新拼接: class Solution

js回文数的4种判断方法示例

删除回忆录丶 提交于 2019-12-14 16:27:58
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如: 121,是回文数。 1221, 是回文数。 1234,不是回文数。 -121,也不是回文数。 一些特殊的情况: 0-9的数字,都可以称为回文。 不等于0,且尾数是0的数字,都不是回文。 负数都不是回文。 字符串的转换 1.1 简单点,使用高阶函数来完成 思路: 先将数字转成字符串A,再经过变成数组,数组反转,数组变成字符串B三步操作之后,比较字符串A和B,得出结论。 /** * @param {number} x * @return {boolean} */ var isPalindrome = function(x) { if ( x < 0 ) return false let str = '' + x return Array.from(str).reverse().join('') === str }; 1.2 从后往前循环字符串数组 思路:将数字转换成字符串A,从后往前循环字符串A,将循环出来的字符拼接成新的字符串B,比较字符串A和B,得出结论。 1.2 从后往前循环字符串数组 思路:将数字转换成字符串A,从后往前循环字符串A,将循环出来的字符拼接成新的字符串B,比较字符串A和B,得出结论。 1.3 以中间数为节点,判断左右两边首尾是否相等 /** * 以中间数为节点