美文网首页
125. valid palindrome

125. valid palindrome

作者: sarto | 来源:发表于2022-07-30 18:29 被阅读0次

    题目

    如果在将所有大写字母转换成小写字母,并去除所有非字母数字后,正向反向读是一样的,则说明这是回文子串。
    给定一个字符串 s, 返回 true 如果这是回文,不然的话,返回 false

    解析

    可以一边转换一边比较,但是代码会比较复杂,为了代码简单一些,先转换字符串,再进行比较。

    伪代码

    format(s)
    for i < j
      if s[i] != s[j] 
        return false
    return true
    

    代码

    func isPalindrome(s string) bool {
        sb := []byte(s)
        p := 0
        for i:=0; i<len(sb); i++ {
            if sb[i] >= 'A' && sb[i] <= 'Z' {
                sb[p] = 'a' + (sb[i] - 'A')
                p++
                continue
            }
            if (sb[i] >= 'a' && sb[i] <= 'z') || (sb[i] >= '0' && sb[i] <= '9') {
                sb[p] = sb[i]
                p++
                continue
            }
        }
        for i,j := 0, p-1; i<=j; i,j = i+1,j-1 {
            if sb[i] != sb[j] {
                return false
            }
        }
        return true
    }
    
    
    image.png

    相关文章

      网友评论

          本文标题:125. valid palindrome

          本文链接:https://www.haomeiwen.com/subject/kmnkwrtx.html