藍橋杯每日一題1.12 2017省賽A組10.油漆面積[矩形面積並][小資料暴力]
阿新 • • 發佈:2021-01-26
LeetCode 7.整數反轉
資料結構學的很菜,還在慢慢重新學,學會了會更新更好的演算法滴
題目:
給你一個 32 位的有符號整數 x ,返回 x 中每位上的數字反轉後的結果。
如果反轉後整數超過 32 位的有符號整數的範圍 [−231, 231 − 1] ,就返回 0。
假設環境不允許儲存 64 位整數(有符號或無符號)。
提示:
-2 ^31 <= x <= 2 ^31 - 1
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/reverse-integer著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
暴力C語言迴圈:
思路分析:
- 根據提示可知,本題如果設定int型,將會出現溢位問題,所以使用long
- 題目提示了資料的範圍,因此需要判斷傳入資料的長度
- 利用取餘和整除來得到每一位數字
實現:
#include<math.h> int reverse(int x){ long num = 0; while(x!=0){ num = num * 10; num = num + x % 10; x = x / 10; } if(num< -pow(2, 31) || num>pow(2, 31)-1){ return 0; } else{ return num; } }
結果:
可見,結果很垃圾。
進階版:
等我學習之後再更新…