反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入:123输出:321

示例 2:

输入:-123输出:-321

示例 3:

输入:120输出:21

注意:

假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

思路:

1.输入一个数,逆序将每个字符存入集合中。

1.1如果输入的负数,先求绝对值,再调用反转函数,返回时加负号即可。

1.2为了减少空间使用量,直接将各个字符存入集合。如果使用数组的话,需要先计算一次求出位数,再计算一次放入数组。

2.集合中的字符和10的n次方对应相乘求和,得出反转数。

2.1反转数大于 2^31 − 1,返回0。

代码:

    package    code_007_ReverseInteger;

    import    java.util.ArrayList;

    import    java.util.Scanner;

    public class Test {

        public    static    int    reverse(int    x) {

            int    rs=0;

            //输入正数

            if(x>0) {

                rs=getResult(x);

            return    rs;

    }

    else{

        //输入负数 先求绝对值

        x=Math.abs(x);

        rs=getResult(x);

        //返回负值

        return    -rs;

        }

    }

    public    static    int    getResult(int    x) {

    //该集合用来逆序存储整数

       ArrayList    chs=newArrayList();

        int    rs=0;

        while(x>0) {

            //对10取余,加入集合

            chs.add(x%10);

            //x递归

            x=x/10;

        }

    for(int    i= 0;i<chs.size();i++){

        //从最高位起 乘以10^(chs.size()-1-i)

        rs=(int) (rs+chs.get(i)*Math.pow(10,chs.size()-1-i));

           }

    if(rs>((int)Math.pow(2, 31)-1)) {

        //大于2^31-1,返回0

        rs=0;

        }

    return rs;

    }

    public    static    void    main(String[]args) {    

        Scanner    scanner=newScanner(System.in);

        int    x=scanner.nextInt();

        reverse(x);

        }

    }

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 给定一个32位有符号整数,将整数中的数字进行反转(假设我们的环境只能存储32位有符号整数,其数值范围是[−2(31...
    _ool阅读 1,399评论 0 1
  • 20180919-摘抄自7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入:...
    moralok阅读 454评论 0 0
  • BAT面试算法进阶(6)- BAT面试算法进阶(6)-最长回文子串(方法二)BAT面试算法进阶(5)- BAT面试...
    CC老师_HelloCoder阅读 895评论 0 0
  • 一:项目级别设置 菜单“数据”——“数据源”——“日期属性”,可以在项目级别对数据源中所有的日期字段统一设置如下三...
    悠长假日阅读 18,817评论 0 6
  • 有时候 不忘初心
    雨亭子阅读 104评论 0 0