天天看點

LeetCode9. 回文數Golang版LeetCode9. 回文數Golang版

LeetCode9. 回文數Golang版

1. 問題描述

給你一個整數 x ,如果 x 是一個回文整數,傳回 true ;否則,傳回 false 。

回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。例如,121 是回文,而 123 不是。

2. 思路

轉換為字元串,使用雙指針周遊

3. 代碼

func isPalindrome(x int) bool {
    if x > math.MaxInt32 || x < math.MinInt32 {
        return false
    }

    if x < 0 {
        return false
    }

    if x / 10 == 0 {
        return true
    } 

    strX := strconv.Itoa(x)
    j := len(strX) - 1
    for i := 0; i < len(strX) / 2; i++ {
        if strX[i] != strX[j] {
            return false
        }
        j--
    }
    return true
}