leetcode 7 Reverse Integer(翻转一个有符号的整数)
2018-12-13 09:58
423 查看
题目要求:
给定一个32位有符号整数,返回该整数的反向数字
示例:
Example 1
Input : 123
Output : 321
Example 2
Input : -123
Output : -321
Example 3
Input : 120
Output : 21
思路:
通过示例可以看出主要分为俩种情况;
1、输入是自然数(包括最后一位是0)
直接进行倒序输出即可;
2、输入是负整数
首先,用第0位记录下负号,然后从第1位开始进行倒序,输出即可。
技巧:
本题也可以在整数层面直接进行操作,但是巧用to_string()转换成字符串进行操作
将会更简单,更好理解。
注意!!
为保证最后的结果合法,在输出前要进行判断。
主要代码 ( C++ ):
// leetcode 007 // reverse integer class Solution { public: int reverse(int x) { string str_x(to_string(x)); //convert the type if(str_x[0] == '-') // Judge whether the integer is a negative number std::reverse(str_x.begin()+1, str_x.end()); else std::reverse(str_x.begin(),str_x.end()); long long longreversex = stoll(str_x); if(longreversex > numeric_limits<int>::max() or longreversex < numeric_limits<int>::min()) return 0; // Make sure the input is legal else return longreversex; } };
原题链接: https://leetcode.com/problems/reverse-integer/
相关文章推荐
- leetcode:Reverse Integer(一个整数反序输出)
- leetcode 7. Reverse Integer(C语言,翻转一个整数,判断是否溢出)19
- LeetCode——Reverse Integer(逆置一个整数)
- [LeetCode] Reverse Integer 翻转整数
- 【LeetCode-面试算法经典-Java实现】【007-Reverse Integer(翻转整数)】
- LeetCode7——Reverse Integer(将一个整数反转,注意溢出的处理)
- 每日一练之Reverse Integer[LeetCode No.7]-翻转整数
- LeetCode Reverse Integer(整数翻转)
- [C++]LeetCode 7:Reverse Integer(翻转整数)
- 【LeetCode】- Reverse Integer(将一个整数反转)
- LeetCode 7 Reverse Integer(翻转整数)
- [LeetCode] Reverse Integer 翻转整数
- [leetcode] Reverse Integer 反转一个整数
- LeetCode | Reverse Integer(翻转整数)
- 无符号整数翻转函数实现reverse_bits(unsigned int value)
- LeetCode练习-翻转数字(Reverse Integer)
- Reverse Integer 翻转数字@LeetCode
- Lettcode_7_Reverse Integer ——翻转整数
- ReverseInteger 给出一个整数,反转这个整数
- 求一个整数的逆整数(Reverse Integer)