LeetCode题组:第9题-回文数
生活随笔
收集整理的這篇文章主要介紹了
LeetCode题组:第9题-回文数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.題目:回文數
判斷一個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121
輸出: true
示例 2:
輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個回文數。
示例 3:
輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是一個回文數。
2.我的解答:
#include <stdio.h>//函數申明 bool isPalindrome(int x); bool isPalindrome(int x){if(x<0) return false;long y=0;int temp=x;while(temp){y = y*10 + temp%10;temp = temp/10;}if(x==y) return true;else return false; }int main() {int x=12321;printf("%d\n",isPalindrome(x));return 0; }3.題目進階
將整數轉為字符串來解決這個問題
4.進階版解答
#include <stdio.h> #include <stdlib.h>//函數申明 bool isPalindrome(int x); bool isPalindrome(int x){if(x<0) return false;//臨時復制x的值 int temp = x;int length = 0,flag1,flag2;//計量x的長度 while(temp){temp = temp/10;length++;}char *X;itoa(x,X,length);//從字符串頭與尾部同時遍歷 flag2 = length-1;while(flag1<flag2){if(X[flag2] != X[flag1]) return false;}return true;}int main() {int x=-12321;printf("%d\n",isPalindrome(x));return 0; }總結
以上是生活随笔為你收集整理的LeetCode题组:第9题-回文数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode题组:第7题-整数反转
- 下一篇: C语言-将数字转化为字符串