我想写一个函数来检查一个单词是否是回文。返回应该告诉我
palindrome "love" is not a palindrome
该函数应包含单词(而不是向量)作为参数(我不太了解它的含义)
我试过了
Palindrome <- function(character){
charsplit <- strsplit(as.character(character), "")
revchar <- rev(unlist(charsplit))
palinum <- as.numeric(paste(revchar, collapse=""))
character==palinum
}
但
Palindrome ("love")
退货
NA
谢谢你的帮助!
最佳答案
不使用strsplit
:
is.palindrome <- function(word) {
rawWord <- charToRaw(tolower(word)) ## converts to lower case
sprintf("%s is %sa palindrome", word,
c("not ", "")[identical(rawWord, rev(rawWord)) + 1])
}
> is.palindrome("otto")
[1] "otto is a palindrome"
> is.palindrome("love")
[1] "love is not a palindrome"
> is.palindrome("Otto")
[1] "Otto is a palindrome"
关于r - 如何检查一个单词是否是回文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17032168/