首页 > 其他 > 详细

力扣 回文数

时间:2021-01-09 23:12:57      阅读:57      评论:0      收藏:0      [点我收藏+]

先贴我写的.c文件

主要思路是:

1.用char类型的数组来存字符,这样可以判断 ‘ - ’

2.读取字符的for循环中,有一个if语句来判断结尾。

3.再一个for循环,判断是不是回文数字。

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int main(){
 4     int n = 0;           //读取数字长度
 5     char a[20];
 6     for(int i = 0 ;;i++){           //将数字读取到char 类型的a数组中
 7         scanf("%c",&a[i]);
 8         if(a[i]==\n){
 9             break;
10         }
11         n++;
12     }
13     //printf("数字长度是%d\n",n);
14     for(int i = 0;i < n-1-i ; i++){     //通过一位一位的比较,判断是不是回文。
15         if(a[i]!=a[n-i-1]){
16             printf("false\n");      //如果不是,直接return 0
17             return 0;
18         }
19     }
20     printf("true\n");               //能够完成循环,说明中间都通过了验证,是回文数字。
21     return 0;
22 }

 

力扣上要求是一个函数,其实比我们这个还要更简单。注意!力扣上函数内传过来的是整型而不是字符型。

如下:

 1 bool isPalindrome(int x){
 2     long sum=0;
 3     int m=x;
 4     if (x<0){
 5         return false;
 6     }
 7     while (x>0){
 8         sum=sum*10+x%10;
 9         x/=10;
10     }
11     if (sum==m){
12         return true;
13     }else{
14         return false;
15     }
16 }

 

力扣 回文数

原文:https://www.cnblogs.com/KeithTee/p/14256464.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!