C++ leetcode 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
生活随笔
收集整理的這篇文章主要介紹了
C++ leetcode 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、思路
? ? ? ? ?轉化成string, 有負號先去掉負號,然后從string的尾部開始遍歷,每一個字符放到第一個另一個字符串中去。
int reverse(int x) {if (x == 0)return 0;bool isPositive = x > 0 ? true : false;string xStr = to_string(x);if (!isPositive)xStr = xStr.substr(1, xStr.size() - 1);string res;bool isTailZeroEnd = false;for (int i = xStr.size() - 1; i >= 0; i--) {if (xStr[i] != '0') {res.push_back(xStr[i]);isTailZeroEnd = true;}else if (!isTailZeroEnd&&xStr[i] == 0)continue;elseres.push_back(xStr[i]);}if (res.size() == 10 && res >= to_string(INT_MAX)) {return 0;}return (isPositive ? 1 : -1)*stoi(res); }?
總結
以上是生活随笔為你收集整理的C++ leetcode 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ leetcode 17. 电话号
- 下一篇: leetCode C++ 二分查找 3