反向整数

给定一个 32 位有符号整数,将整数中的数字进行反转,如果超出整数的最大或者最小范围返回0

更多文章查看个人博客 个人博客地址:反向整数

方法一

利用StringBuilder的reverse方法,将数字转换成字符反转然后再转换回整数

 public int reverseInteger(int num) {if (num == 0 || (num < 10 && num > -10)) {return num;}// 获得绝对值 去掉正负号int temp = Math.abs(num);StringBuilder st = new StringBuilder(String.valueOf(temp));StringBuilder reverse = st.reverse();long result = Long.valueOf(reverse.toString());if (num > 0) {return result > Integer.MAX_VALUE ? 0 : (int) result;} else {return result < Integer.MIN_VALUE ? 0 : -(int) result;}}
  • StringBuilder reverse方法也是通过一个for循环把字符反转,时间复杂度是O(n),空间复杂度O(n)
名称 结果
时间复杂度 O(n)
空间复杂度 O(n)

方法二

利用一个循环取余的方法将整数反转,效率要比上边方法好

 public int reverseInteger(int num) {if (num == 0 || (num < 10 && num > -10)) {return num;}long result = 0;for (; num != 0; num /= 10) {result = result * 10 + num % 10;}return result > Integer.MAX_VALUE || result < Integer.MIN_VALUE ? 0 : (int) result;}
名称 结果
时间复杂度 O(n)
空间复杂度 O(1)

更多文章查看个人博客 个人博客地址:反向整数

转载于:https://www.cnblogs.com/NiceCui/p/11062574.html

leetCode:reverseInteger 反向整数 【JAVA实现】相关推荐

  1. LeetCode (12.整数转罗马数字)JAVA StringBuffer

    LeetCode (12.整数转罗马数字)JAVA StringBuffer 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 1 ...

  2. 整数反转leetcode java_【Java】【每日算法/刷穿 LeetCode】7. 整数反转(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]7. 整数反转(简单) 宫水三叶发布于 今天 12:10 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数 ...

  3. [Leetcode][第889题][JAVA][根据前序和后序遍历构造二叉树][分治][递归]

    [问题描述][中等] [解答思路] copyOfRange class Solution {public TreeNode constructFromPrePost(int[] pre, int[] ...

  4. [Leetcode][第106题][JAVA][ 从中序与后序遍历序列构造二叉树][分治][递归]

    [问题描述][中等] [解答思路] public class Solution {public TreeNode buildTree(int[] inorder, int[] postorder) { ...

  5. [Leetcode][第78题][JAVA][子集][位运算][回溯]

    [问题描述][中等] [解答思路] 1. 位运算 复杂度 class Solution {List<Integer> t = new ArrayList<Integer>(); ...

  6. [Leetcode][第79题][JAVA][单词搜索][DFS][回溯]

    [问题描述][中等] [解答思路] 1. DFS繁琐版本 class Solution {public boolean exist(char[][] board, String word) {bool ...

  7. [Leetcode][第40题][JAVA][数组总和2][回溯][剪枝]

    [问题描述][中等] [解答思路] 1. 减法 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Ar ...

  8. [Leetcode][第216题][JAVA][数组之和3][回溯]

    [问题描述][中等] [解答思路] 回溯 剪树枝 当和超过n 或 个数超过k 1. 正向求和 优化前 class Solution {public List<List<Integer> ...

  9. [Leetcode][第39题][JAVA][组合总和][回溯][dfs][剪枝]

    [问题描述][中等] [解答思路] 1. 回溯 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.De ...

最新文章

  1. 3.3.2 函数参数不得不说的几件事
  2. matlab optimization terminated,求助Optimization terminated. 的问题
  3. hutool中的threadutil_Hutool - 好用的Java工具类库
  4. HDU - 3987 Harry Potter and the Forbidden Forest(最小割最少边数)
  5. require的key一个坑
  6. pr文字转语音有插件吗_文字转语音软件深度解析
  7. 数组正遍历,数组倒遍历
  8. Eclipse的详细安装步骤
  9. npm和gulp学习
  10. UUID实现之一twitter的分布式自增IDsnowflake算法
  11. linux企业版笔记之Samber服务的基本配置
  12. Bailian2703 骑车与走路【水题】
  13. pytorch保存.pth文件
  14. 第13章Stata Logistic回归分析
  15. 苹果手机如何查看html代码,苹果手机怎么利用代号查看硬件信息
  16. 行列式在计算机的应用,行列式的计算机及应用.doc
  17. 正六边形:判断点是否在正六边形内
  18. OC和Swift语言的区别
  19. Java中类名虽然可以直接使用静态属性但是在使用时要注意静态属性是一个常量
  20. 卉原中学2021年高考成绩查询,卉原中学2021年宿舍条件

热门文章

  1. javascript权威指南_重读javascript权威指南(3)
  2. linux fread 头文件,Linux文件操作
  3. matlab gui输入数据库,从数据库值填充Matlab GUI列表框
  4. fst java性能_高性能序列化框架FST
  5. linux配置erp访问端口_nginx配置相同端口号访问多个项目
  6. 2017蓝桥杯c语言C组承压计算,2017蓝桥杯 省赛C题(承压计算)
  7. android studio 手把手叫你NDK开发环境搭建及基础使用
  8. java列表mvc分页_Springmvc完成分页的功能
  9. python 招聘 少_Python招聘需求猛增123%!学完Python工资多少?
  10. 概率语言模型及其变形系列-LDA及Gibbs Sampling