for-loop - 需要在循环中验证字符串的一半
问题描述
我正在做一个回文练习,想在一个循环中验证一半的字符串。我尝试为 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
}
解决方案
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
。
更多关于范围的信息。
推荐阅读
- flutter - changenotifierprovider 是否会处理导航?
- python - Why are multiple objects created in below implementation?
- sql - ORA-01830 将日期从一个表插入另一个表
- javascript - 无法在另一个内部有条件地要求组件
- spring-boot - 运行 Spring Boot Scheduler 和 Apache Camel 时出现问题
- c# - 将回调包装到异步任务中
- reactjs - React + SPFx 我得到了我的空列表,并且只能通过操作它们来获取项目
- python - 熊猫日期范围包括系列的开始日期
- node.js - Botframework v4:瀑布和 LUIS.ai
- php - Laravel 6 错误:目标类 [加密器] 不存在