【算法百题之三十五】整数翻转
大家好,我是Lampard~~
很高兴又能和大家见面了,接下来准备系列更新的是算法题,一日一练,早日升仙!
今天的问题是:整数翻转
思路:翻转输出没什么难度,主要是判断边界不要超出整形的最大或者最小值情况
*/
#include <iostream>
using namespace std;
int reverse(int x) {
int index = x;
long result = 0;
while (index != 0) {
result = ((result * 10 + index % 10) > INT_MAX || (result * 10 + index % 10) < INT_MIN) ? 0 : (result * 10 + index % 10);
index /= 10;
}
return (int)result;
}
int main() {
cout << reverse(321) << endl;
}
测试函数以及测试结果: