Solution_7.java 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. package com.sf.leetcode;
  2. public class Solution_7 {
  3. public static void main(String[] args) {
  4. System.out.println(Long.MAX_VALUE);
  5. System.out.println(Float.MAX_VALUE);
  6. System.out.println(Double.MAX_VALUE);
  7. }
  8. // 字符串解法
  9. public int reverse(int x) {
  10. // 处理负数
  11. if (x < 0) {
  12. if (x <= Integer.MIN_VALUE) return 0;
  13. // x -> 正数 -x -> 负数的返回
  14. return -reverse(-x);
  15. }
  16. // 数字转字符串
  17. String str = String.valueOf(x);
  18. // 字符数组
  19. char[] charArray = str.toCharArray();
  20. for (int i = 0; i < charArray.length / 2; i++) {
  21. char temp = charArray[i];
  22. charArray[i] = charArray[charArray.length - i - 1];
  23. charArray[charArray.length - i - 1] = temp;
  24. }
  25. // 当前的字符串是一个有效的数字 只是超出了int的范围
  26. // 所有表示数值的类型 谁的范围最大 byte short int long float double
  27. String doubleStr = String.copyValueOf(charArray);
  28. double doubleNum = Double.parseDouble(doubleStr);
  29. return doubleNum > Integer.MAX_VALUE ? 0 : (int) doubleNum;
  30. }
  31. }