zoukankan      html  css  js  c++  java
  • Reverse Integer

    Reverse digits of an integer.

    Example1: x = 123, return 321
    Example2: x = -123, return -321


    特殊:在32位机中,由于int的范围到该是-20亿到20亿之间,所以如果我们翻转一个数1912345678,就变成8765432191,这里也就溢出了int的范围。不过好像leetcode测试案例中没弄这么大的数,所以我的代码还是AC啦。

    思路:较直白,拿到整数,先转化为字符串,然后对字符串做换位操作,再将字符串转化成整数。

    注意:另外需要注意,一般的函数库是没有itoa的,只有atoi。所以需要自己实现itoa。

    class Solution {
    public:
    void itoa(int num,char str[])  
    {  
        int sign = num;  
        int i = 0;  
        int j = 0;  
        char temp[100];  
        //如果是负数就去掉符号,将-1234转成1234  
        if(sign < 0)  
        {  
            num = -num;  
        }  
        //转成字符串,1234转成"4321"  
        do  
        {  
            temp[i] = num % 10 + '0';  
            num /= 10;  
            i++;  
        }while(num > 0);  
        //如果是负数的话,加个符号在末尾,如:"4321-"  
        if(sign < 0)  
        {  
            temp[i++] = '-';  
        }  
        temp[i] = '';  
        i--;  
        //将temp数组中逆序输入到str数组中  
        //将"4321-" ====> "-1234"  
        while(i >= 0)  
        {  
            str[j] = temp[i];  
            j++;  
            i--;  
        }  
        //字符串结束标识  
        str[j] = '';  
    }  
        int reverse(int x) {
            char a[100];
            itoa(x,a);
            int len=strlen(a);
            if(a[0]=='-')
            {
                for (int i=1;i<=len/2;++i){
                    int j=len-i;
                    int temp=a[i];
                    a[i]=a[j];
                    a[j]=temp;
                }
            }else
            {
                for (int i=0;i<len/2;++i){
                    int j=len-i-1;
                    int temp=a[i];
                    a[i]=a[j];
                    a[j]=temp;
                }
            }
            int res=atoi(a);
            return res;
        }
    };
  • 相关阅读:
    Cookie和Session机制详解
    MySQL数据库MyISAM和InnoDB存储引擎的比较
    MySQL索引背后的数据结构及算法原理
    Qt Meta Object System-元对象系统
    Qt事件处理机制
    学习STL-介绍一下STL
    为什么你有10年经验,但成不了专家?
    关于union的那些事儿
    关于enum的那些事儿
    三子棋局-挑战你的逻辑思维
  • 原文地址:https://www.cnblogs.com/fightformylife/p/4072213.html
Copyright © 2011-2022 走看看