【LeetCode笔记】Reverse Integer
2014-07-08 23:44
351 查看
1. If want to reuse the same stringstream object, need to clear the buffer before use.
stream.clear() works in Dev-C++.
Others recommended stream.str(""), but it doesn't work in my code.
2. int: 10, 100, 1000, 10000...
After being converted to string type and reversed, they'll be 01, 001, 0001, 00001... Convert them back to int, will get just 1, no more zeros.
3. reverse int : 1000000003 can cause overflow problem.
So use long long type to save 3000000001. Problem solved.
4. Assignment: string = int will assign the ACSii code of the int to string. e.g.:
int i = 49; string s = i; cout << s;
Output: 1
********************************************************************
My test code:
#include<iostream>
#include<string>
#include<sstream>
#include<algorithm>
using namespace std;
int main(){
int i = 1000000003;
string s;
stringstream ss;
s = i;
cout << i << " " << s << endl;
// int to string
ss << i;
ss >> s;
cout << i << " " << s << endl;
// reverse string
reverse(s.begin(), s.end());
cout << sizeof(s) << " This is a string " << s << endl;
// string to in
long long result;
ss.clear();
ss << s;
ss >> result;
cout << sizeof(result) << " This is a int " << result << endl;
return 0;
}
stream.clear() works in Dev-C++.
Others recommended stream.str(""), but it doesn't work in my code.
2. int: 10, 100, 1000, 10000...
After being converted to string type and reversed, they'll be 01, 001, 0001, 00001... Convert them back to int, will get just 1, no more zeros.
3. reverse int : 1000000003 can cause overflow problem.
So use long long type to save 3000000001. Problem solved.
4. Assignment: string = int will assign the ACSii code of the int to string. e.g.:
int i = 49; string s = i; cout << s;
Output: 1
********************************************************************
My test code:
#include<iostream>
#include<string>
#include<sstream>
#include<algorithm>
using namespace std;
int main(){
int i = 1000000003;
string s;
stringstream ss;
s = i;
cout << i << " " << s << endl;
// int to string
ss << i;
ss >> s;
cout << i << " " << s << endl;
// reverse string
reverse(s.begin(), s.end());
cout << sizeof(s) << " This is a string " << s << endl;
// string to in
long long result;
ss.clear();
ss << s;
ss >> result;
cout << sizeof(result) << " This is a int " << result << endl;
return 0;
}
相关文章推荐
- leetcode笔记:Reverse Integer
- LeetCode刷题笔记 07 Reverse Integer
- 【leetcode刷题笔记】Reverse Integer
- LeetCode笔记:7. Reverse Integer
- leetcode刷题笔记-Reverse Integer
- Leetcode 编程训练笔记-Reverse Integer
- 【leetcode】Reverse Integer
- leetcode: Reverse Integer
- 【leetcode】Reverse Integer
- LeetCode 笔记系列四 Remove Nth Node From End of List
- LeetCode 笔记系列八 Longest Valid Parentheses [lich你又想多了]
- LeetCode题目笔记(一) -- Minimum Depth Of Binary Tree
- LeetCode 笔记系列五 Generate Parentheses
- LeetCode题目笔记(四) -- Check if a binary tree is balanced
- LeetCode 笔记系列一 Median of Two Sorted Arrays
- LeetCode 笔记系列三 3Sum
- LeetCode 7 - Reverse Integer
- Leetcode : Reverse Integer
- LeetCode题目笔记(三) -- Median of Two Sorted Arrays
- [Leetcode 14] 7 Reverse Integer