zoukankan      html  css  js  c++  java
  • 关于反转整数

    在leetcode上就见了这题:

    经典的反转整数,遇见过很多次了,本以为很简单,分分钟码出来,结果却大失所望,哎,看来以后还是得多想想特殊情况呀~~

    不多说,先把坑挖出来,一共两个坑:

    1.反转后可能溢出,此时应该返回0;

    2.关于尾数为0时,应舍去;

    由于采用数学方法获取各位数,并非用文本反转,所以坑2就不用考虑了,

    关键是坑1,如何判别溢出呢?可以通过获取INT_MAX和INT_MIN来辅助,由于是乘法溢出,故采用将最值除上相应值,这样避免判断最值情况。

    一切尽在代码中:

    class Solution {
    public:
    	int reverse(int x) {
    		int t = 0;
    		while (x != 0)
    		{
    			if (t >INT_MAX / 10 || t <(INT_MIN) / 10)
    				return 0;
    			t= t * 10 + x % 10;
    			x /= 10;
    		}
    
    		return t;
    	}
    };
    
  • 相关阅读:
    Steady Cow Assignment POJ
    二分图多重匹配问题
    Tour HDU
    奔小康赚大钱 HDU
    Strategic Game HDU
    Antenna Placement POJ
    Oil Skimming HDU
    Rain on your Parade HDU
    假如,
    这样也可以,insert,,
  • 原文地址:https://www.cnblogs.com/Rainlee007/p/5873304.html
Copyright © 2011-2022 走看看