125. 验证回文串 简单

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

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

示例 1:

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

示例 2:

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

代码参考:

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(isPalindrome("0P"))
}

// 辣鸡解法
// TODO: 优化效率
func isPalindrome(s string) bool {
    s = strings.ToLower(s)
    str := ""
    for _, r := range s {
        if r >= 'a' && r <= 'z' || r >= '0' && r <= '9' {
            str += string(r)
        }
    }
    head, tail := 0, len(str)-1
    for head < tail {
        if str[head] != str[tail] {
            return false
        }
        head++
        tail--
    }
    return true
}
最后编辑: kuteng  文档更新时间: 2021-06-05 10:16   作者:kuteng