Swift 斯威夫特游乐场和LeetCode OJ

Swift 斯威夫特游乐场和LeetCode OJ,swift,Swift,我得到的错误是: 预期返回字符串的函数中缺少返回 Leetcode OJ中的相同函数给出了以下错误: 第4行:无法调用非函数类型“Distance”(又名“Int”)的值 当我在操场上键入以下内容时,效果很好: class Solution { func reverseString(s: String) -> String { let rev = String(s.characters.reverse()) print(rev) } } 我似乎不明白这个问题的解

我得到的错误是: 预期返回字符串的函数中缺少返回

Leetcode OJ中的相同函数给出了以下错误:

第4行:无法调用非函数类型“Distance”(又名“Int”)的值

当我在操场上键入以下内容时,效果很好:

class Solution {
    func reverseString(s: String) -> String {
    let rev = String(s.characters.reverse())
    print(rev)
 }
}
我似乎不明白这个问题的解决方案,也不明白为什么它在带有函数返回类型的游乐场和Leetcode OJ中的行为有所不同

斯威夫特诺布和任何帮助将不胜感激!谢谢

试试这个:

var str = "Hello"
let rev  = String(str.characters.reverse())
如果要添加在特定
类型上工作的自定义方法,请在该类型上创建扩展

class Solution {
func reverseString(s: String) -> String {
    let rev = String(s.characters.reverse())
    print(rev)
    return rev
    }
}

var str = Solution()
str.reverseString("Hello")
例如:

extension String {
    // you methods
}
然后可以将其用作字符串类型的类函数

extension String {
    func length() -> Int {
        return self.characters.count
    }
}

reverseString
返回一个
String
,但在函数末尾不返回
rev
String(s.characters.reverse()
,只打印value.class解决方案{func reverseString(s:String)->String{let rev=String(s.characters.reverse())return rev}}reverseString(“hello”)错误:游乐场执行失败:MyPlayerd.playerd:11:1:错误:使用未解析标识符“reverseString”reverseString(“hello”)^~~~~~~~~~~~~~~~~我也很抱歉格式化。慢慢学习:/你说你的
reverseString
函数将返回一个
String
,但你什么也不返回。在
print(rev)
行之后添加
return rev
类解决方案{func reverseString(s:String)->String{let rev=String(s.characters.reverse())return rev}reverseString(“hello”)
游乐场执行失败:MyPlayed.Played:11:1:错误:使用未解析标识符“reverseString”reverseString(“hello”)^~~~~~~~~~~~~~~~~~~~~K。Nimo@rohanKumar您的注释中的代码将
reverseString
定义为属于
解决方案
实例,但您调用它时将其视为一个全局函数。谢谢@K.Nimo!它成功了。所以最后两行…
var str=Solution()
这是创建解决方案类的实例?而
str.reverseString(“Hello”)
是访问解决方案类实例的反向字符串函数(在本例中为str)?
let greetings: String = "Hello"
greetings.length()  // 5