mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
右旋字符串 swift版本
This commit is contained in:
@ -350,7 +350,29 @@ function reverseStr(s, start, end) {
|
|||||||
|
|
||||||
|
|
||||||
### Swift:
|
### 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:
|
### PHP:
|
||||||
|
Reference in New Issue
Block a user