# \#7 Reverse Integer
## *反轉自然數*
## Log
- build 20210328 by syhuang
## 一般解
- 兩變數a,b分別存給的值和轉換後的值, 用迴圈跑b=a%10+b, 每跑一次迴圈後a=a\10, b=b*10, 跑到a%10=0為止
```javascript=
var reverse = function(x) {
var token = x>=0?1:-1;
var tmp = Math.abs(x);//未算完數
var ret = 0;
do{
ret = ret*10 + tmp%10;
tmp = parseInt(tmp/10);
}while(tmp > 0);
ret = ret*token;
if(ret >= Math.pow(2,31) || ret < -Math.pow(2,31)){return 0;}
return ret;
};
```
## 初見(FUN)
- 數字轉字串後反轉字串, 剛好javascript有字串反轉方法可用
```javascript=
var reverse = function(x) {
var token = '';
var a = x.toString();
if(a[0]==='-'){token='-';a = a.substr(1);}
var b = a.split('');
var c = b.reverse();
var d = c.toString();
while(d.indexOf(',')>-1){
d = d.replace(',','');
}
d = Number(token+d);
if(d < -Math.pow(2,31) || d >= Math.pow(2,31)){d = 0;}
return d;
}
```
## 備註
## 參考
###### tags: `leetcode`, `leetcode-easy`