125.验证回文串

93 阅读1分钟

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

说明: 本题中,我们将空字符串定义为有效的回文串。
解法: 1、注意大小写的判断方法不需要记住ANSCII码 2、注意大小写转换使用标准库strings.ToLower()

import "strings"
func isPalindrome(s string) bool {
	left, right := 0, len(s) - 1
	for left < right {
		if !validate(s[left]) {
			left ++
			continue
		}
		if !validate(s[right]) {
			right --
			continue
		}
		if strings.ToLower(string(s[left])) != strings.ToLower(string(s[right])) {
			return false
		}
		left ++
		right --
	}
	return true
}
func validate(n byte)bool{
	if 'A' <= n && n <= 'Z' || 'a' <= n && n  <= 'z' || '0' <= n && n  <= '9' {
		return true
	}
	return false
}