Leetcode解题笔记 7.Reverse Integer [Easy]
2017-09-13 08:32
513 查看
解题思路
这是一道简单题,简单利用取余和整除就可以解决,难是难在效率,效率问题主要是对是否溢出的判断。我的代码
我的代码在处理溢出问题上不够高效,导致只有12.5%的排名,其实有更好的方法,请继续往下看。class Solution { public: int reverse(int x) { int result = 0; bool check = x >= 0 ? 1 : 0; int maxInt = 2147483647 / 10; int minInt = -2147483648 / 10; while (x) { if (check ? result > maxInt : result < minInt) { result = 0; break; } result = result * 10 + x % 10; x = x / 10; } return result; } };
大神的代码
可以见到大神代码十分简介,直接用除数判断也是很机智,但不知道为何我将这段代码再提交只有%3的排名,因为觉得每次都要多除一次效率应该会降低才对。class Solution { public: int reverse(int x) { int res = 0; while(x != 0) { int t = 10*res + x%10; x /= 10; if(t/10 != res) return 0; res = t; } return res; } };
相关文章推荐
- Leetcode解题笔记 169.Majority Element [Easy]
- Leetcode解题笔记121. Best Time to Buy and Sell Stock [Easy] 动态规划
- 【LeetCode】Reverse Integer解题笔记
- Leetcode解题笔记 9.Palindrome Number [Easy]
- 【Leetcode】7.Reverse Integer 解题
- Leetcode解题笔记 70. Climbing Stairs [Easy] 动态规划
- Leetcode解题笔记 1.Two Sum [Easy]
- 菜鸟写给菜鸟的 ——LeetCode解题笔记 Easy-题目1:292. Nim Game
- Leetcode解题笔记 53. Maximum Subarray [Easy] 动态规划
- 菜鸟写给菜鸟的 ——LeetCode解题笔记 Easy-题目2:258. Add Digits
- leetcode 101. Symmetric Tree 解题笔记
- LeetCode解题报告 349. Intersection of Two Arrays [easy]
- [LeetCode 解题报告]007.Reverse Integer
- 【Leetcode】【Easy】String to Integer (atoi)
- LeetCode解题报告 383. Ransom Note [easy]
- 【LeetCode】121.Best Time to Buy and Sell Stock(Easy)解题报告
- 【LeetCode】26.Remove Duplicates from Sorted Array(Easy)解题报告
- Leetcode解题思路总结(Easy)
- LeetCode-7-Reverse Integer(Nmber-Strng)-Easy
- 【LeetCode】(C#)13. Roman to Integer(Easy)