1. 给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。
  2. 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 1] ,就返回 0
  1. 示例 1
  2. 输入:x = 123
  3. 输出:321
  4. 示例 2
  5. 输入:x = -123
  6. 输出:-321
  7. 示例 3
  8. 输入:x = 120
  9. 输出:21
  10. 示例 4
  11. 输入:x = 0
  12. 输出:0
  13. 提示:
  14. -231 <= x <= 231 - 1

方法一:

  1. var reverse = function(x) {
  2. let str = x.toString()
  3. let res =''
  4. if(x>0){
  5. for(let i=str.length-1;i>=0;i--){
  6. res+=str[i]
  7. }
  8. }else{
  9. for(let i=str.length-1;i>0;i--){
  10. res=res+str[i]
  11. }
  12. res = -res
  13. }
  14. if(res<Math.pow(-2,31)||res>=Math.pow(2,31)-1){
  15. return 0
  16. }
  17. return res*1
  18. };

方法二:

  1. var reverse = function(x) {
  2. let res = (x>0?1:-1)*String(x).split('').filter(x=>x!='-').reverse().join('')
  3. if(res<Math.pow(-2,31)||res>=Math.pow(2,31)-1){
  4. return 0
  5. }
  6. return res*1
  7. };