Reverse Integer

Reverse Integer

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

Have you thought about this?

Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!

If the integer’s last digit is 0, what should the output be? ie, cases such as 10, 100.

Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?

For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

非常easy的一道题。

例如以下:

public class Solution {    public int reverse(int x) {      if(x == 0){          return 0;      }      int fuhao = x >> 31 & 1;//1为负数      if(fuhao == 1){          x = -x;//转换成正数       }      StringBuffer sb = new StringBuffer();      while(x > 0){          sb.append(x%10);          x /= 10;      }      try{        x = Integer.parseInt(sb.toString());      }catch(Exception ex){          return 0;//转换之后的数据溢出      }      if(fuhao == 1){          x = -x;      }      return x;    }}

Runtime: 256 ms

注意题后的特殊情况,一个正常的数转换后可能出错,如input为1534236469,则retrun 0;

參考别人的代码,发现自己的思维固定在了Sstring上了,改进例如以下:

public class Solution {    public int reverse(int x) {      if(x == 0){          return 0;      }      int fuhao = x >> 31 & 1;//1为负数      if(fuhao == 1){          x = -x;//转换成正数       }      long x1 = 0;      while(x > 0){          x1 = x1 * 10 + x%10;          x /= 10;      }      if(x1 > Integer.MAX_VALUE || x1 < Integer.MIN_VALUE){//转换失败          return 0;      }      if(fuhao == 1){          x = -(int)x1;      }else{          x = (int)x1;      }      return x;    }}

Runtime:
217 ms

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117959.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • visio2016专业版2018最新密钥和下载方法 整理

    visio2016专业版2018最新密钥和下载方法 整理visio2016是目前微软最强大的图标制作软件,也是很难激活的。今天小编就给大家分享一下visio2016专业版的下载地址和激活方法,希望能给你带来方便。一,所有版本下载和更多有效的密钥www.dnbbn.com当然,也可以通过官网下载,登录setup.office.com.输入密钥识别后即可下载。二,激活。下载后可以输入一下密钥,但是说明一下,只适用于上述的专业版哈,其他版本无…

    2022年8月13日
    5
  • div滚动条

    div滚动条##设置div内容溢出滚动overflower:auto(内容溢出的时候出现滚动条;scroll会一直出现滚动条)#滚动条样式##滚动条组成:-webkit-scrollbar滚动条整体部

    2022年7月4日
    25
  • Maven打包的过程

    Maven打包的过程项目使用 Maven 打 war 包是非常方便的 只需几个步骤就可以搞定了 步骤一 在 eclipse 中 在项目上右键鼠标 RunAs Mavenclean 清理 清理原来的包步骤二 步骤三 然后到项目的存放路径中 找到 target 目录下 就可以看到打包好的项目 比如项目名 myProject 将会生成一个文件夹 myProject 和一个 myProject war 两个都可以直接使用

    2026年2月2日
    2
  • swagger2 注解说明 ( @ApiImplicitParams )

    swagger2 注解说明 ( @ApiImplicitParams )Api 用在请求的类上 表示对类的说明 tags 说明该类的作用 可以在 UI 界面上看到的注解 value 该参数没什么意义 在 UI 界面上也看到 所以不需要配置 ApiOperation 用在请求的方法上 说明方法的用途 作用 value 说明方法的用途 作用 notes 方法的备注说明 ApiImplicitP 用在请求的方

    2025年11月27日
    5
  • Pycuda 学习笔记(二)gpuarray学习

    Pycuda 学习笔记(二)gpuarray学习本博客参照学习文档https://documen.tician.de/pycuda/array.html通过GPUArray矩阵类可以将numpy中的数组和矩阵直接转换成cuda可处理类型,该步骤即将CPU中的数据复制到GPU中。导入gpuArray和numpyimportpycuda.gpuarrayasgpuarrayimportnumpyasnp将numpyndar

    2025年6月10日
    3
  • pytest 执行用例_测试用例执行结果有哪些

    pytest 执行用例_测试用例执行结果有哪些前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月30日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号