LeetCode演算法題 回文數

2021-10-01 17:14:53 字數 811 閱讀 4406

**回文數,即乙個整數,將它各位上的數字從左到右反過來得到的數字依然等於原來的整數。如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 解釋 從右向左...