Merge pull request #2800 from zrzhit/master

增加Swift版本  1. 面试题02.07.链表相交  2.右旋字符串
This commit is contained in:
程序员Carl
2024-11-27 09:17:07 +08:00
committed by GitHub
2 changed files with 61 additions and 0 deletions

View File

@@ -350,7 +350,29 @@ function reverseStr(s, start, end) {
### Swift:
```swift
func rotateWords(_ s: String, _ k: Int) -> String {
var chars = Array(s)
// 先反转整体
reverseWords(&chars, start: 0, end: s.count - 1)
// 反转前半段
reverseWords(&chars, start: 0, end: k - 1)
// 反转后半段
reverseWords(&chars, start: k, end: s.count - 1)
return String(chars)
}
// 反转start...end 的字符数组
func reverseWords(_ chars: inout [Character], start: Int, end: Int) {
var left = start
var right = end
while left < right, right < chars.count {
(chars[left], chars[right]) = (chars[right], chars[left])
left += 1
right -= 1
}
}
```
### PHP