0

我需要创建一个称为回文的方法吗?

palindrome?(string) 必须确定给定字符串(单词或短语)是否为回文,也就是说,它向后读取与向前读取相同,忽略大小写、标点符号和非单词字符。

我不明白用什么方法来忽略非单词字符

def palindrome?(str)
  if str.reverse.downcase.delete(" ") == str.downcase.delete(" ")
    return true
  else 
    return false
  end
end

我正在使用 ruby​​ 语言,我可以使用正则表达式,还要注意我觉得我的代码太复杂了我知道我可以让它变得更简单请帮忙

4

1 回答 1

1
def palindrome? str
  str = str.gsub(/\W/, "").downcase
  str.reverse == str
end
于 2013-07-17T00:35:00.387 回答