返回
Swift 中,查找字符串中的第一个唯一字符
IOS
2023-09-11 09:57:10
输入
Swift - LeetCode - 字符串中的第一个唯一字符
##参考
“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情” 题目 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 示例 1:
## 输出
**Swift 中,查找字符串中的第一个唯一字符**
在 Swift 中,我们可以使用以下步骤来查找字符串中的第一个唯一字符:
1. 将字符串转换为字符数组。
2. 遍历字符数组,并使用 Set 来存储已经出现的字符。
3. 当遇到一个不在 Set 中的字符时,返回该字符的索引。
4. 如果遍历完整个字符串数组,都没有找到唯一字符,则返回 -1。
以下是如何将上述步骤实现为一个 Swift 函数:
```swift
func firstUniqueCharacter(_ s: String) -> Int {
// 将字符串转换为字符数组。
let chars = Array(s)
// 使用 Set 来存储已经出现的字符。
var seenChars: Set<Character> = []
// 遍历字符数组。
for (index, char) in chars.enumerated() {
// 如果字符不在 Set 中,则返回该字符的索引。
if !seenChars.contains(char) {
return index
}
// 将字符添加到 Set 中。
seenChars.insert(char)
}
// 如果遍历完整个字符串数组,都没有找到唯一字符,则返回 -1。
return -1
}
```
以下是几个示例:
```swift
let s1 = "leetcode"
let result1 = firstUniqueCharacter(s1) // 0
let s2 = "loveleetcode"
let result2 = firstUniqueCharacter(s2) // 2
let s3 = "aabb"
let result3 = firstUniqueCharacter(s3) // -1
```
如上所示,该函数可以正确地找到字符串中的第一个唯一字符。