添加剑指Offer58-II.左旋转字符串 Swift版本
This commit is contained in:
parent
588091dd75
commit
969c5c50ea
|
|
@ -214,6 +214,34 @@ var reverseLeftWords = function (s, n) {
|
|||
};
|
||||
```
|
||||
|
||||
Swift:
|
||||
|
||||
```swift
|
||||
func reverseLeftWords(_ s: String, _ n: Int) -> String {
|
||||
var ch = Array(s)
|
||||
let len = ch.count
|
||||
// 反转区间[0, n - 1]
|
||||
reverseString(&ch, startIndex: 0, endIndex: n - 1)
|
||||
// 反转区间[n, len - 1]
|
||||
reverseString(&ch, startIndex: n, endIndex: len - 1)
|
||||
// 反转区间[0, len - 1],也就是整个字符串反转
|
||||
reverseString(&ch, startIndex: 0, endIndex: len - 1)
|
||||
return String(ch)
|
||||
}
|
||||
|
||||
func reverseString(_ s: inout [Character], startIndex: Int, endIndex: Int) {
|
||||
var start = startIndex
|
||||
var end = endIndex
|
||||
while start < end {
|
||||
(s[start], s[end]) = (s[end], s[start])
|
||||
start += 1
|
||||
end -= 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue