判斷乙個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121示例 2:輸出: true
輸入: -121示例 3:輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是乙個回文數。
輸入: 10高階:輸出: false
解釋: 從右向左讀, 為 01 。因此它不是乙個回文數。
你能不將整數轉為字串來解決這個問題嗎?
最簡單的方法,將整形轉化成字串,兩個指標從頭到尾依次比較字元是否相等。
public
boolean
ispalindrome
(int x)
//0結尾的也不可能是回文
//0結尾的也不可能是回文
if(x %
10==
0&& x !=0)
int num =0;
//原數小於反轉數,說明超過一半了,退出迴圈
while
(x > num)
//偶數:判斷 x==num,奇數判斷x == num/10(因為反轉的長度比剩下的原數長一位,這一位是中間的乙個數)
return x == num || x == num/10;
}
模擬 數字 leetcode 9 回文數
題目鏈結 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121輸出 true示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10輸出 false 解釋 從右...
LeetCode 9 回文數(簡單)
點此去做 題幹 判斷乙個整數是否是回文數。回文數是指正序和倒序都是一樣的整數。你能不將數字轉化為字串做嗎?輸入 121 121 10輸出 true false false執行用時 28ms,11.5mb 思想 最開始想要借用整數翻轉的 先將整數翻轉後再做相等比較,結果發現用例中有會造成溢位的大數,不...
leetcode 9 回文數 數學
判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左...