LeetCode

xiaoxiao2021-02-28  33

//思路十分暴力 //就是把原带符号数的每一位取出来 //再逐个乘10的幂次 //要注意的是如何判断溢出 //哇判断溢出这个是我心中永远的痛了,从C语言学到数电、数据结构再到计原,我就没学明白过 //有人看我博客么,给我通俗易懂的讲讲好么,我现在看到“溢出”两个字就犯怵,但没想到胡诌竟然还把题目做出来了 class Solution { public: int reverse(int x) { if(x==0) return 0; int x_abs = abs(x); int p[12]; int len = 0; for(int i=0;;){ int dip; int reserve; int shang; if(i==0) reserve = x_abs; shang = reserve/10; dip = reserve - shang*10; //cout<<"i:"<<i<<endl; //cout<<"dip:"<<dip<<endl; reserve = shang; p[i] = dip; //cout<<"p["<<i<<"]:"<<p[i]<<endl; i++;//计数,最终有i位,0——i-1 if(reserve==0){ len = i; break; } } int solution = 0; for(int j = 0;j<len;j++){ solution = solution + p[j]*pow(10,len-j-1); if(solution<0) return 0; } if(x<0) solution = (-solution); return solution; } };
转载请注明原文地址: https://www.6miu.com/read-2622876.html

最新回复(0)