**回文數,即乙個整數,將它各位上的數字從左到右反過來得到的數字依然等於原來的整數。如1221反過來還是1221,所以它是回文數。而-11反過來是11-,所以不是回文數。那麼如何判斷乙個整數是不是回文數?
將數字轉換為字串,然後反轉字串,再與之前的比較看是否相等。
將整數最高位的數字取出,和整數末位的數比較是否相等,如果相等再取出第二位和倒數第二位的數字進行比較,依次類推。
1.轉換為字串
public boolean ispalindrome
(int x)
return
false
;}
2.取各位上的數字進行比較
public boolean ispalindrome
(int x)
//尾數為0不可能是回文數,0除外。
if(x %
10==
0&& x !=0)
//迴圈取出首位和末位的數字進行比較
int a =10;
//個位數肯定是回文數
if(x/a ==0)
while
(x/a >=10)
while
(x >0)
int left = x / a;
int right = x %10;
x = x % a;
x = x /10;
if(left != right)
a = a /
100;
}return
true
;}
leetcode演算法 回文數
判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左...
leetcode 回文數(簡單題)
判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。ps 你能不將整數轉為字串來解決這個問題嗎?一刷 時間複雜度o logn 空間複雜度o 1 但是這個解法最少迴圈1次最多迴圈1.5次,可以進行優化 class solution def ispalindrome ...
LeetCode 回文數 簡單題
判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左...