Leetcode 7

Problem Description
Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output: 321
Example 2:

Input: -123
Output: -321
Example 3:

Input: 120
Output: 21
Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

Java:

class Solution {
    public int reverse(int x) {
        if (x == Integer.MIN_VALUE) return 0;
        int flag = x > 0 ? 1 : -1;
        x *= flag;
        int res = 0;
        
        while (x != 0) {
            if ((Integer.MAX_VALUE - x%10)/10 < res) return 0;
            res = res*10 + x%10;
            x /= 10;
        }
        
        return res * flag;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 智商决定你的下限 情商决定你的上限 你说话让人舒服的程度 能决定你所能抵达的高度
    我的钥匙阅读 1,462评论 0 0
  • 午后阳光尚好,驱走早起时的寒风。我叫了一杯红豆沙冰,坐在咖啡厅靠窗的椅子上。老板把刨冰机故意弄得咯吱作响,似乎不满...
    葡萄籽加石榴阅读 3,523评论 1 1