zoukankan      html  css  js  c++  java
  • LeetCode:Reverse Integer

    题目描写叙述:

    Reverse digits of an integer.

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

    思路:先推断给的数是正数还是负数还是零。假设是零,则直接返回。

    假设是正数,则通过%和/运算求得给定数字的各位,再又一次组合得到要求得数字。

    假设为负数则先转换为正数。再按正数处理,最后返回时再乘-1。

    代码:

    int reverse(int x) {
        int * buffer;
        int i = 0;
        int j = 0;
        int reverseN = 0;
    
        buffer = (int *)malloc(sizeof(int)*20);
    
        if(x == 0)
            return 0;
    
        if(x > 0)
        {
            while(x != 0)
            {
                buffer[i] = x % 10;
                x = x / 10;
                i++;
            }
            while(j < i)
            {
                reverseN = reverseN * 10 + buffer[j];
                j++;
            }
            return reverseN;
        }
    
        if(x < 0)
        {
            x = x * -1;
            while(x != 0)
            {
                buffer[i] = x % 10;
                x = x / 10;
                i++;
            }
            while(j < i)
            {
                reverseN = reverseN * 10 + buffer[j];
                j++;
            }
            return reverseN * -1;
        }
    }


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    hadoop中map和reduce的数量设置问题
    Flink基础
    Leetcode中的SQL题目练习(二)
    Redis-2- 基本概念
    Redis-1-安装
    C#事件(1)
    java(13)内部类
    java(12)异常处理
    java(11)构造器
    java(10)接口抽象类
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4794988.html
Copyright © 2011-2022 走看看