leetcode-9.回文数(水仙花数)
题意:给定整数,判断是否是水仙花数(回文数),返回判断结果
算法:
1.判断负数, 如果是负数直接返回false
2.将整数逐位拆解,用数组存储
3.遍历数组,若本位与后面对应位不等返回false.
Code
1 class Solution {
2 public:
3 bool isPalindrome(int x) {
4 if(x < 0)
5 return false;//负数,直接返回false
6 int perBit[32+2];//数组,用于存储数字每一位
7 int count=0;
8 bool flag = true;
9 while(x)//数字数组化
10 {
11 perBit[count] = x%10;
12 x /= 10;
13 count++;
14 }
15 for(int i=0; i<count; i++)//遍历数组(其实是遍历一般)
16 {
17 if(perBit[i] != perBit[count-1-i])//对应位置值不等,不是,返回false
18 {
19 return false;
20 }
21 if(i == count/2)//扫一半就够了
22 break;
23 }
24 return flag;//若是,返回true
25 }
26 };