LeetCode 9 題解 回文數

2021-10-08 05:25:52 字數 1055 閱讀 5172

判斷乙個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。

示例 1:

輸入:

121輸出: true

示例 2:

輸入:

-121

輸出: false

解釋: 從左向右讀, 為 -

121 。 從右向左讀, 為 121

- 。因此它不是乙個回文數。

示例 3:

輸入:

10輸出: false

解釋: 從右向左讀, 為 01 。因此它不是乙個回文數。

高階:

你能不將整數轉為字串來解決這個問題嗎?

題目要求不能轉為字串來解決,這樣也比較簡單,即將整數的回文整數求解出來。

如果是負數 或 回文整數超出整數int範圍,肯定不是回文數。

**如下:

從leetcode 網友的題解上,學習到一種方法,類似雙指標,但又不是轉為字串來實現。

我們來學習下吧:

// 計算10 的階乘

intget_10_n

(int x)

bool ispalindrome

(int x)

// 此時以start 為低位起點,len 為高位末尾,類似雙指標

while

( len >= start)

return true;

}

從結果得知,該方法,相較於前面的,更加高階,在時間空間上也更高效。

Go實現回文數(leetcode 9)

判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左...

LeetCode 9 回文數(簡單)

點此去做 題幹 判斷乙個整數是否是回文數。回文數是指正序和倒序都是一樣的整數。你能不將數字轉化為字串做嗎?輸入 121 121 10輸出 true false false執行用時 28ms,11.5mb 思想 最開始想要借用整數翻轉的 先將整數翻轉後再做相等比較,結果發現用例中有會造成溢位的大數,不...

陣列 Leetcode9回文數

leetcode9 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 輸入 121 輸出 true 思路1 先變成字串然後對比 class solution return true 思路2 數字對比 class solution while num 0 r...