首页 > 解决方案 > 需要在循环中验证字符串的一半

问题描述

我正在做一个回文练习,想在一个循环中验证一半的字符串。我尝试为 ex: for(index in text.indices / 2)做,但没有用

fun palindrome(text:String): Boolean {

   var inverse : Int = text.length - 1

   for (index in text.indices) {
       if (!text[index].equals(text[inverse])) {
           return false
       }
       inverse--
   }
   return true
}

标签: for-loopkotlinpalindrome

解决方案


Kotlin 中的for循环语法类似于 Java 的“增强型 for”循环

for (<variable> in <expression>) {
    <body>
}

哪里<expression>可以是“提供迭代器的任何东西”(来自文档

您在评论中添加的代码的 Kotlin 等效项是:for (i in 0 until text.length()/2). 请注意,这until不是关键字,而是infix函数并创建范围 0 .. text.length()-1

更多关于范围的信息


推荐阅读