首页 > 科技 > Go实现算法:验证回文串(LeetCode)

Go实现算法:验证回文串(LeetCode)

首先解释一下,回文串:正着读和反着读,都一样。如aba

题目:

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

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

示例 1:

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

输出: true

示例 2:

输入: "race a car"

输出: false

解题思路:字符串首尾取索引,挨个取值比对,一次循环得出结果。

func isPalindrome(s string) bool {
if len(s)<=1{
return true
}
s=strings.ToLower(s)
i,j:=0,len(s)-1
for i if s[i]>='a'&&s[i]<='z' || s[i]>='0'&&s[i]<='9'{
//过滤掉其他字符串,不比对
if s[j]>='a'&&s[j]<='z' || s[j]>='0'&&s[j]<='9'{
if s[i]!=s[j]{
return false
}else{
i++
j--
}
}else{
j--
}
}else{
i++
}
}
return true
}

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/kj/248561.html