leetcode每日刷题计划-简单篇day1

时间:2023-01-16 20:52:55

orzorz开始刷题

争取坚持每周平均下来简单题一天能做两道题吧

非常简单的题奇奇怪怪的错误orz越不做越菜

Num 7 整数反转 Reverse Integer

刚开始多给了一个变量来回折腾占地方,没注意到溢出

因为有溢出,在返回的时候(int) ans

开始设置的时候设置long ans,不然遇到溢出直接报错了。

class Solution {
public:
int reverse(int x) {
long ans=;
while(x!=)
{
ans=ans*+x%;
x=x/;
}
if(ans<- || ans> )
return ;
return (int)ans;
}
};

第一反应的比较麻烦的做法,刚开始ten的设置int疯狂报错orz没考虑到既然基础那多半10^n也溢出哇

已经改对了

class Solution {
public:
long ten(int x)
{
long a=;
while(x!=)
{
x--;
a=a*;
}
return a;
}
int reverse(int x) {
int x1=x;
long y,count;
y=;
count=;
while(x!=)
{
x=x/;
count++;
}
while(x1!=)
{
/**if(((x1%10)*ten(count)<-2147493648)||((x1%10)*ten(count)>2147483647))
return 0;*/
y+=x1%*ten(count--);
x1=x1/;
}
if(y < - || y > )
{
return ;
}
return (int)y;
}
};

更大范围应该是变成字符,在medium里,改天做呀~

Num 9 回文数 Palindrome Number

一次过

没啥说的

class Solution {
public:
bool isPalindrome(int x) {
if(x<)
return false;
int count=;
int a[];
while(x!=)
{
a[count++]=x%;
x=x/;
}
if(count==)
return true;
for(int i=;i<count/;i++)
{
if(a[i]!=a[count--i])
return false;
}
return true;
}
};