Skip to content

Latest commit

 

History

History

125.验证回文串

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

125. 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:

输入: "A man, a plan, a canal: Panama"
输出: true

示例 2:

输入: "race a car"
输出: false

func isPalindrome(s string) bool {
}

解题思路

双指针,忽略字母的大小写,就全部tolower,判断只就下a-z然后判断回文

题解

func isPalindrome(s string) bool {
    
    s = strings.ToLower(s)
    array := make([]rune,0)
    
    for _,v := range s {
        if (v >= '0' && v <= '9') || (v >= 'a' && v <= 'z') {
            array = append(array,v)
        }
    }
    rstr := string(array)
    
    return rstr == reverse(rstr)

}

// 反转string
func reverse(str string) string {

    tmp := []byte(str)
    i := 0
    j := len(str) - 1
    
    for i < j {
        tmp[i], tmp[j] = tmp[j], tmp[i]
        i++
        j--
    }
    
    return string(tmp)
}