如何在字符串上循环并创建一个字典来统计该字符串中的字符数


let input = "aa bb c"
let expected: [Character: Int] = [
"a": 2,
"b": 2,
"c": 1,
]

这是我的密码。知道我做错了什么吗?

func createCounter(string: String) {
var charArr: [Character] = []
let mappedChar = charArr.map { ($0, 1)}
let counts = Dictionary(mappedChar, uniquingKeysWith: +)

for char in string {
if (char != " ") {
charArr.append(char)
}
}

print(counts)

}

我发现我所需要做的就是创建一个没有空格的新字符串,创建一个空字典,并在新字符串上循环。这是我的新密码。

var newString: String = ""
var countDict: [Character: Int] = [:]

for char in string {
if (char != " ") {
newString.append(char)
}
}

for char in newString {
if (countDict[char] != nil) {
countDict[char]! += 1
} else {
countDict[char] = 1
}
}

print(countDict)

}

最新更新