leetcode (Reverse Integer)
阿新 • • 發佈:2018-12-28
Title:Palindrome Number 7
Difficulty:Easy
原題leetcode地址: https://leetcode.com/problems/reverse-integer/
1. 見程式碼註釋
時間複雜度:O(1)。
空間複雜度:O(1)。
/** * StringBuffer,注意臨界值 * @param x * @return */ public static int reverse(int x) { String string = Integer.toString(x); if (x < 0) { string = string.replace("-", ""); } StringBuffer stringBuffer = new StringBuffer(string); String result = stringBuffer.reverse().toString(); if(Long.parseLong(result) > Integer.MAX_VALUE) { return 0; } return x > 0 ? Integer.parseInt(result) : - Integer.parseInt(result); }
1. 見程式碼註釋
時間複雜度:O(n),一次一層while迴圈。
空間複雜度:O(1),沒有申請額外空間。
/** * 整除和求餘交換,注意臨界值 * @param x * @return */ public static int reverse1(int x) { long xx = x; if (xx < 0) { xx *= -1; } long result = 0; while (xx > 0) { result *= 10; result += xx % 10; xx /= 10; } if (result > Integer.MAX_VALUE) { return 0; } int res = (int)result; return (x < 0 ? res * -1 : res); }