首页 > 试题广场 >

整数反转

[编程题]整数反转
  • 热度指数:247 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
先记录是正数还是负数,然后统一按正数处理,反转完成后再将符号添加回去
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param number int整型 
     * @return int整型
     */
    public int reverse (int number) {
        // write code here
        boolean flag = number < 0? true: false;
        if(flag) number *= -1;
        int res = 0;
        while(number > 0){
            res = res*10 + number % 10;
            number /= 10;
        }
        return flag? -res: res;
    }
}

发表于 2021-04-12 09:13:43 回复(0)
需要先判断一下正负就好了
import java.util.*;
import java.util.Stack;

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param number int整型 
     * @return int整型
     */
    public int reverse (int number) {
        // write code here
        int count=0;
        Stack<Character> sk1 = new Stack<Character>();
        String str="";
        if(number<0){
            str="-";
            number=Math.abs(number);
        }
        String s1 = String.valueOf(number);
        for(char add:s1.toCharArray()){
            sk1.add(add);
        }
        String s2 ="";
        while(!sk1.isEmpty()){
            s2+=sk1.pop();
        }
        int cha = Integer.parseInt(str+s2);
        return cha;
    }
}


发表于 2021-10-11 15:21:55 回复(0)
/* Stack s = new Stack();
        Queue<Integer> q = new LinkedList();
       int flag = number<0?-1:1;
        number*=flag;
        int tmp = 0;
        int tmp2 = 0;
        while(number>0){
            s.push(number%10);
            q.offer(number%10);
            number /= 10;
        }
        while (!s.isEmpty()||!q.isEmpty()){
            tmp=tmp*10+(int)s.pop();
            tmp2=tmp2*10+q.poll().intValue();
        }
        return flag*tmp2;
        */
发表于 2021-08-12 00:36:02 回复(0)
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param number int整型 
     * @return int整型
     */
    int reverse(int number) {
        // write code here
        int beichushu=number,chushu=10,yushu=0,result=0;
        while(beichushu!=0){
            yushu=beichushu%chushu;
            result=result*10+yushu;
            beichushu=beichushu-yushu;
            beichushu=beichushu/10;
        }
        return result;
    }
};
发表于 2021-01-27 16:27:16 回复(0)