LeetCode(Hot100)——7:数字反转

复习

(1)char charAt(int index)

返回指定索引处的 char 值。

(2)String substring(int beginIndex, int endIndex)

返回一个新字符串,它是此字符串的一个子字符串。

(3)String substring(int beginIndex)

返回一个新的字符串,它是此字符串的一个子字符串。

(4)Integer.parseInt() 是 Java 中的一个方法,用于将字符串转换为整数类型的数据。它的作用是将一个字符串参数解析为带符号的十进制整数

代码

java 复制代码
public class LeetCode7 {
    @Test
    public void test(){
        //int x=-123;
        int x=1222230;
        System.out.println(reverse(x));
    }

    public int reverse(int x){

        String xstr=x+"";
        //1.判断是否为负数
        String fs="";
        if(xstr.substring(0,1).equals("-")){
            fs="-";
            xstr=xstr.substring(1);
        }
        //2.进行反转
        String res="";
        for(int i=xstr.length()-1;i>=0;i--){
            res  +=xstr.charAt(i);
        }

        ///3.返回结果
        try{
            return Integer.parseInt(fs+res);
        }catch (Exception e){
            return 0;
        }
    }
}
//上面的方法利用String字符串来进行反转处理。
//方法2:使用取模的方法来处理。
    public int reverse2(int x) {
        int res = 0;
        while(x!=0) {
            //取末尾数字
            int tmp = x%10;
            //判断是否 大于 最大32位整数
            if (res>214748364 || (res==214748364 && tmp>7)) {
                return 0;
            }
            //判断是否 小于 最小32位整数
            if (res<-214748364 || (res==-214748364 && tmp<-8)) {
                return 0;
            }
            res = res*10 + tmp;
            x /= 10;
        }
        return res;
    }
  }
相关推荐
倒头就睡的小比特3 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
旖旎夜光3 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark3 天前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her13 天前
并查集-听课笔记
笔记·算法·并查集
码流子3 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
another heaven3 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法
wzdark3 天前
从算法设计模式看编程思维的抽象能力4
算法
2601_962218613 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法