给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321
 示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21
注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

主要是判断是否溢出,例如1234567898直接反转肯定溢出,少加一位对最后一位进行判断

提交的代码:

class Solution {
    public int reverse(int x) {
         int[] nums = new int[31];
         int i=0,flag=0,j,sum=0;
         int a = 2147483647;
         if(x<0)
         {
             x=-x;
             flag=1;
         }
         
         while(x>0)
         {
             nums[i++]=x%10;
             x/=10;
         }
             for(j=0;j<i;j++)
             {
                 sum=sum*10+nums[j];
                 if((sum>a/10&&j!=i-1)||(sum==a/10&&nums[j+1]>7&&flag==0))
                 {
                     return 0;
                 }
                 if((sum>a/10&&j!=i-1)||(sum==a/10&&nums[j+1]>8&&flag==1))
                 {
                     return 0;
                 }
             }
             if(flag==1)
             {
                 sum=-sum;
             }
             return sum;
    }
}

完整的代码:

import java.util.Scanner;

public class Solution7 {
     public static int reverse(int x) {
         int[] nums = new int[31];
         int i=0,flag=0,j,sum=0;
         int a = 2147483647;
         if(x<0)
         {
             x=-x;
             flag=1;
         }
         
         while(x>0)
         {
             nums[i++]=x%10;
             x/=10;
         }
             for(j=0;j<i;j++)
             {
                 sum=sum*10+nums[j];
                 if((sum>a/10&&j!=i-1)||(sum==a/10&&nums[j+1]>7&&flag==0))
                 {
                     return 0;
                 }
                 if((sum>a/10&&j!=i-1)||(sum==a/10&&nums[j+1]>8&&flag==1))
                 {
                     return 0;
                 }
             }
             if(flag==1)
             {
                 sum=-sum;
             }
             return sum;
        }
     public static void main(String[] args)
     {
         int x;
         Scanner sc = new Scanner(System.in);
         x = sc.nextInt();
         System.out.println(reverse(x));
     }
}

Leetcode--7. 整数反转相关推荐

  1. [模拟|数位] leetcode 7 整数反转

    [模拟|数位] leetcode 7 整数反转 1.题目 题目链接 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输 ...

  2. 【LeetCode】整数反转

    package leetcode.editor.cn;//给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. // // 示例 1: // // 输入: 123 //输出: 32 ...

  3. 53 -leetcode 7. 整数反转

    //看看人家 写的多简单 INT_MIN INT_MAX 2^31 -1 -2^31 7. 整数反转 class Solution {public:int reverse(int x) {int fh ...

  4. LeetCode NO7. 整数反转

    给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果. 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0. 假设环境不允许存储 64 ...

  5. php 反转一个整数,LeetCode PHP 整数反转

    友情提示:此篇文章大约需要阅读 2分钟16秒,不足之处请多指教,感谢你的阅读. 题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 32 ...

  6. LeetCode 7. 整数反转 Reverse Integer 官网答案的条件判定的一点思考

    关于solution中的公式不知道是否清楚,在刚开始看的时候认为条件之一应当是rev<(Integer.min-pop)/10这个条件,因为rev*10+pop>Integer.min时才 ...

  7. C++ leetcode 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    一.思路 转化成string, 有负号先去掉负号,然后从string的尾部开始遍历,每一个字符放到第一个另一个字符串中去. int reverse(int x) {if (x == 0)return ...

  8. leetcode 7整数反转和leetcode 9回文数

    关键代码片 while(x>reverseN){reverseN = reverseN * 10 + x%10;x = x/10;} while (x != 0) {int pop = x % ...

  9. LeetCode 7 整数反转

    解决方案 class Solution {public int reverse(int x) {String str = String.valueOf(x);String s = "&quo ...

  10. LeetCode 07. 整数反转

    原题描述 个人解法思路 class Solution { public:int reverse(int x) {int temp=0;//需要返回的最后结果while(x!=0){if(temp> ...

最新文章

  1. python 画三维函数图-Python之Numpy:二元函数绘制/三维数据可视化/3D
  2. 简单的python爬虫实例
  3. 警惕使用System.Environment.CurrentDirectory遇到的坑
  4. 全志A33-ARM开发板通过NFS与Ubuntu共享文件
  5. BZOJ2460: [BeiJing2011]元素(线性基+贪心)
  6. 顶级数据团队建设全景报告_如何拥有一支顶级数据智能团队?联想总结了这些由内而外的经验...
  7. 2021年中国乙酸异冰片酯市场趋势报告、技术动态创新及2027年市场预测
  8. M1 Max 暴击,倚天补刀
  9. android 权限问题吗,Android 6.0前后权限问题
  10. 阿里云服务器mysql莫名丢失_MySQL5.6 突然死掉 阿里云端的 服务器上搭建的
  11. 百度之星1000——A+B问题
  12. Not registered via @EnableConfigurationProperties, marked as Spring component, or scanned via @Confi
  13. python学习(七)----time模块相关函数
  14. 黑杰克blackjack 游戏的简化版(第一个游戏程序)
  15. 我每次去德国出差必带的东西
  16. 【Tool】TI公司14-Pin JTAG规范以及参考原理图
  17. go语言csv包_golang导出csv
  18. 字幕:《李开复谈创新思维》上
  19. [附源码]Python计算机毕业设计大众点评管理系统
  20. python打开浏览器全屏_Python+Selenium自动化——浏览器启动自动全屏配置

热门文章

  1. LeetCode 845. 数组中的最长山脉(中心扩展)
  2. 传智书城首页设计代码_(自适应手机版)响应式创意餐饮酒店装饰设计类网站织梦模板 html5蓝色餐饮酒店设计网站源码下载...
  3. java socket tomcat_在Tomcat环境下使用socket通信
  4. 利用Python把四张图片按照顺序拼接起来
  5. python的魔法_python魔法方法大全
  6. java栅格法全局路径规划,基于A*的全局路径规划算法(1)
  7. 论文审稿人可以下岗了?CMU都做出论文审稿机器人了!
  8. 系统学习 Java IO (六)----管道流 PipedInputStream/PipedOutputStream
  9. Java中使用队列Queue
  10. WPF使用Canvas绘制可变矩形