zoukankan      html  css  js  c++  java
  • LeetCode刷题-- 整数反转

    题目信息

    给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。
    
    如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。
    
    假设环境不允许存储 64 位整数(有符号或无符号)。
     
    
    示例 1:
    
    输入:x = 123
    输出:321
    示例 2:
    
    输入:x = -123
    输出:-321
    示例 3:
    输入:x = 120
    输出:21
    示例 4:
    
    输入:x = 0
    输出:0
    
    提示:
    -231 <= x <= 231 - 1
    

    题解代码

    class Solution {
        public int reverse(int x) { 
            // 方法1: 求余取位法
            long n = 0;
            while(x!=0){
                n = n*10 + x%10;
                x = x/10;
            }
            return (int)n ==n ? (int)n : 0 ;
       }
    }
    
    class Solution {
        public int reverse(int x) { 
             // 方法2. 字符串反转
            String st1 = Integer.toString(x);
            int flag = 1;                // 标志位取值为-1
            if(x < 0){
                 flag = -1;              // 标志位取值为-1
                 st1 = st1.substring(1); // 将负号截取掉
           }
          try{
                // 字符串翻转,然后将翻转后的字符串转为数值
                 return Integer.valueOf((new StringBuilder(st1)).reverse().toString()) * flag;   
             }catch(Exception e){
                 return 0 ;
            }
        }
    }
    
    

    声明

    来源:力扣(LeetCode)
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    
  • 相关阅读:
    vmware-tools安装
    UBUNTU 安装教程
    CANO入门(三)
    CANOE入门(二)
    CANOE入门(一)
    ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock
    vmware-tools安装
    root权限
    ARM嵌入式开发中的GCC内联汇编__asm__
    OpenCV3.1.0+VS2015开发环境配置
  • 原文地址:https://www.cnblogs.com/sinlearn/p/14359235.html
Copyright © 2011-2022 走看看