题解 | #反转数字#

反转数字

http://www.nowcoder.com/practice/1a3de8b83d12437aa05694b90e02f47a

就这样

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 
 * @param x int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int reverse(int x ) {
    // write code here
    unsigned int a,b=0,c,d,e=0;
    if(x>0)
        a=x;
    else
        a=-x;//去符号
    c=a/1000000000;//为判断最终是否溢出做准备
    d=a%1000000000;
    e=a;
    if(c>0)
    {
        a=d;
        goto A;
    }
    B:
    if(e==1)
    {
        if(d>846384741)//d是当x是十位数时,后九位数字的反转数字,后者是2的31次幂的后九位数字的反转数字
            return 0;
    }
     A:
    while(a/10!=0)
    {
        b=b+a%10;
        a/=10;
        b*=10;
    }
    b=b+a;
    if(x>0)
        b=b;
    else
        b=-b;
    if(c>0)
    {
       d=b,e=1;
        goto B;
    }
    
    return b;
}

结束

全部评论

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务