网站建设公司+长春,wordpress如何搬迁,百度识图在线使用,慈溪市建设厅网站回文数字 2023-08-18 美团 一面 在不使用额外的内存空间的条件下判断一个整数是否是回文。 回文指逆序和正序完全相同。 数据范围#xff1a; 进阶#xff1a; 空间复杂度O(1) #xff0c;时间复杂度 O(n) 提示#xff1a; 负整数可以是回文吗#xff1f;#xff08;比如…回文数字 2023-08-18 美团 一面 在不使用额外的内存空间的条件下判断一个整数是否是回文。 回文指逆序和正序完全相同。 数据范围 进阶 空间复杂度O(1) 时间复杂度 O(n) 提示 负整数可以是回文吗比如-1 如果你在考虑将数字转化为字符串的话请注意一下不能使用额外空间的限制 你可以将整数翻转。但是如果你做过题目“反转数字”你会知道将整数翻转可能会出现溢出的情况你怎么处理这个问题
public class Solution {/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可** * param x int整型 * return bool布尔型*///1. 负整数在这道题里不算是回文比如-121!121-//方案一121%101,121/1001public boolean isPalindrome (int x) {
// if (x0) return false;
// String str x ;
// int len str.length();
// if (len1){
// return true;
// }// int mid len/2;
// int p0;
// for (int i1;imid;i){
// int temp x%10;
// System.out.println(temptemp);
// pp*10 temp;
// x x/10;
// }
// if (x p){
// return true;
// }
// return false;int y 0;int a x;while (a0){y y * 10 (a%10);a a/10;}return y x;}
}上面的被注释的代码才是本人所写当然一开始说需要O(logn)的时间复杂度所以想到要二分求得了x的位数长度。然后是判断负数是否是回文题目认为不是所以有了判断为负就直接返回false所以整体写的略微复杂了。后面的结果是面试官给出的答案是比较美观、简洁的代码思路很清晰。 当然这道题其实有几个特点首先他不是回文字符串而是数字数字类问题意味着我们可以做加减乘除、位运算等也就是说我们没必要转成字符串然后判断回文可以利用数字的特性通过多次取模乘10这样来反转数字。所以这是这道算法题希望考察到的点。