判斷一個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121 輸出: true
示例 2:
輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個回文數。
示例 3:
輸入: 10 輸出: false 解釋: 從右向左讀, 為 01 。因此它不是一個回文數。
進階:
你能不將整數轉為字符串來解決這個問題嗎?
判斷一個數是否是回文數。
方法一:主要思路是把原本的數字(x)拆分開,組成一個數字(y),然后判斷x==y。
class Solution { public: bool isPalindrome(int x) { int i=0; int j=0; int k=0; if (x < 0) {//判斷負數 return false; } if(x>=0&&x<10){//2,3,5,等都是回文數 return true; } else { j = x; while (x) { i = x % 10; //取出x中最后一個數字 k = k * 10 + i;//組成新的數字 x =x/10; //x去掉最后一個數字 } if (k==j){ return true; } else{ return false; } } } };
小弟不才,有錯誤之處,麻煩指出。謝謝。
