LeetCode7. Reverse Integer
2017-03-26 08:46
393 查看
1、stack
class Solution { public: int reverse(int x) { if((x==0)||(x==-2147483648)){ return 0; } bool flag=(x<0); x = abs(x); int r; stack<int> s; while(x){ div_t dr=div(x,10); x=dr.quot; r=dr.rem; s.push(r); } int re=s.top(),d=10; s.pop(); while(!(s.empty())){ r = s.top(); if((re>147483647)&&(r>=2)){ return 0; } if(flag&&(re>147483648)&&(r>=2)){ return 0; } s.pop(); re+= r*d; d*=10; } if(flag){ return -re; } else{ return re; } } };
2、vector
class Solution { public: int reverse(int x) { if(x==0){ return 0; } if(x==-2147483648){ return 0; } bool flag=(x<0); x = abs(x); int y=x; vector<int> v; int r; while(y){ div_t dr=div(y,10); y=dr.quot; r=dr.rem; v.push_back(r); } int n=v.size(); double result=v[0]; for(int i=1;i<n;++i){ result=result*10+v[i]; } if(flag&&(result>2147483648)){ return 0; } if(result>2147483647){ return 0; } if(flag){ return -int(result); } else{ return int(result); } } }; void main() { //int x=1234567809,y; int x=-1563847412,y; //int x=-2147483648,y; Solution So; y=So.reverse(x); cout<<y<<endl; }
相关文章推荐
- leetcode--7. Reverse Integer
- LeetCode_Easy心得:7. Reverse Integer(C语言)
- leetcode7. Reverse Integer
- leetcode-7. Reverse Integer
- 【LeetCode】7. Reverse Integer问题解析
- [LeetCode]--7. Reverse Integer
- Leetcode 7. Reverse Integer
- LeetCode 7. Reverse Integer
- leetcode 7. Reverse Integer
- 7. Reverse Integer LeetCode
- LeetCode 7. Reverse Integer
- [leetcode] 7. Reverse Integer 解题报告
- leetcode 7. Reverse Integer
- Leetcode-Python 1 .Two Sum/ 7. Reverse Integer
- LeetCode-7. Reverse Integer
- 【C语言】LeetCode 7. Reverse Integer
- LeetCode-7. Reverse Integer
- python写算法题:leetcode: 7. Reverse Integer
- [Leetcode]7. Reverse Integer
- 【LeetCode】7. Reverse Integer