判斷乙個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
//這是我自己寫的版本。但是和官方題解相比還是差了點。
public
boolean
ispalindrome
(int x)
return y == x;
}
public bool ispalindrome
(int x)
int revertednumber =0;
while
(x > revertednumber)
// 當數字長度為奇數時,我們可以通過 revertednumber/10 去除處於中位的數字。
// 例如,當輸入為 12321 時,在 while 迴圈的末尾我們可以得到 x = 12,revertednumber = 123,
// 由於處於中位的數字不影響回文(它總是與自己相等),所以我們可以簡單地將其去除。
return x == revertednumber || x == revertednumber/10;
}//leetcode-cn.com/problems/palindrome-number/solution/hui-wen-shu-by-leetcode/
總結:這種對稱的題該想到只判斷一半。另一半是對稱的。 解題力扣9 回文數
判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數 示例一輸入 121 輸出 true 示例二輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例三輸入 10 輸出 false 解釋 從右向左讀,為 01...
力扣9 回文數C
先排除幾個特殊情況 0是回文數 負數都不是回文數 凡是能被10整除的 10,100,1000 都不是回文數。然後,因為int表示範圍有限,既然是回文數 左右兩邊是反過來的 那麼,這樣比較一半就好了。用int型的陣列num將輸入的數x轉換為陣列,然後,從中間斷開,比較左右兩邊是否相等,即可。bool ...
力扣LeetCode 9 回文數
判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左...