Advertisement
Guest User

Untitled

a guest
Dec 27th, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. public class Solution {
  2. public int reverse(int x) {
  3. int result = 0;
  4.  
  5. while (x != 0){
  6.  
  7. int ones = x % 10;
  8. x = x / 10;
  9. Integer tempMult = safeMult(result, 10);
  10. if (tempMult == null){
  11. return 0;
  12. }
  13. result = tempMult;
  14. result += ones;
  15. }
  16.  
  17. return result;
  18. }
  19.  
  20. private int sigMax(int x, int y){
  21. return Integer.signum(x) == Integer.signum(y) ? Integer.MAX_VALUE : Integer.MIN_VALUE;
  22. }
  23.  
  24. private Integer safeMult(int a, int b){
  25. int maximum = sigMax(a, b);
  26. if (a != 0 && (b > 0 && b > maximum / a ||
  27. b < 0 && b < maximum / a))
  28. {
  29. return null;
  30. }
  31. return a*b;
  32.  
  33. }
  34.  
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement