标签:leetcode leetcode7 leetcode第7题 reverse intger
题目我就不赘述了,可以上官网看得到。算了还是贴一下把。
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
就是把输入的数值反向输出即可。这里有一个陷阱就是数值溢出的问题。我的代码跟网上别人的不太一样,看到这个题目的我首先想到的就是,把这个int型转换成string型,这样就可以对单个字符操作,这样就很easy了。
而大部分人是从后往前提取数字,然后相加。这样也行。我就把我的代码贴出来
#include<iostream> #include<string> using namespace std; class Solution { public: int reverse(int x) { if (x == 0)cout <<"0"; else if (x > 0){ res = int2str(x); for (int i = res.size() - 1; i >= 0; i--){//倒序输出 cout << res[i]; } return 0; } else{ x = abs(x); cout << "-"; res = int2str(x); for (int i = res.size() - 1; i >= 0; i--){ cout << res[i]; } } } //function:int to string string int2str(int x){ sprintf_s(t, "%d", x); string temp = t; return temp; } private: char t[256]; string res; }; int main(int argc, char *argv[]){ int n = -123; string s; Solution object; //s=object.int2str(n); //cout << s << endl; object.reverse(n); return 0; }
结果显示
标签:leetcode leetcode7 leetcode第7题 reverse intger
原文地址:http://blog.csdn.net/embedclub_lyf/article/details/45647063