Home>Article>Java> Java implements integer reversal

Java implements integer reversal

王林
王林 forward
2020-01-06 17:35:03 4222browse

Java implements integer reversal

1. Convert int integer to String and overflow capture

class Solution { public int reverse(int x) { long nums = 0; int temp = 1; try { temp = x / Math.abs(x); StringBuilder num = new StringBuilder(); num.append(Math.abs(x)); nums = Long.parseLong(num.reverse().toString()); if(nums > Math.pow(2, 31) - 1) { return 0; } } catch (Exception e) { // TODO: handle exception return 0; } return (int)nums*temp; } }

String conversion is less efficient and uses more library functions.

(recommended learning video tutorial:java video tutorial)

2. Remainder method

class Solution { public int reverse(int x) { int ans = 0; while(x != 0) { // 判断溢出 if((ans * 10) / 10 != ans) { ans = 0; break; } // ans*10 没有溢出 ans = ans * 10 + x % 10; x /= 10; } return ans; } }

(ans * 10) / 10 of which ans *10, the Java virtual machine actually performs numerical type promotion internally, that is, when overflowing, long type data is temporarily stored, and finally through narrowing conversion, the lower 32-digit value is retained to obtain (ans * 10) / 10 != ans. Therefore, the condition of storing only 32-bit integers cannot be met.

Recommended related articles and tutorials:java introductory tutorial

The above is the detailed content of Java implements integer reversal. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete