mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
@ -254,6 +254,28 @@ var reverseStr = function(s, k) {
|
||||
|
||||
```
|
||||
|
||||
Swift:
|
||||
|
||||
```swift
|
||||
func reverseStr(_ s: String, _ k: Int) -> String {
|
||||
var ch = Array(s)
|
||||
|
||||
for i in stride(from: 0, to: ch.count, by: 2 * k) {
|
||||
var left = i
|
||||
var right = min(s.count - 1, left + k - 1)
|
||||
|
||||
while left < right {
|
||||
(ch[left], ch[right]) = (ch[right], ch[left])
|
||||
left += 1
|
||||
right -= 1
|
||||
}
|
||||
}
|
||||
return String(ch)
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-----------------------
|
||||
|
@ -264,6 +264,49 @@ javaScript:
|
||||
};
|
||||
```
|
||||
|
||||
Swift:
|
||||
|
||||
```swift
|
||||
func replaceSpace(_ s: String) -> String {
|
||||
var strArr = Array(s)
|
||||
var count = 0
|
||||
|
||||
// 统计空格的个数
|
||||
for i in strArr {
|
||||
if i == " " {
|
||||
count += 1
|
||||
}
|
||||
}
|
||||
// left 指向旧数组的最后一个元素
|
||||
var left = strArr.count - 1
|
||||
// right 指向扩容后数组的最后一个元素(这里还没对数组进行实际上的扩容)
|
||||
var right = strArr.count + count * 2 - 1
|
||||
|
||||
// 实际对数组扩容
|
||||
for _ in 0..<(count * 2) {
|
||||
strArr.append(" ")
|
||||
}
|
||||
|
||||
while left < right {
|
||||
if strArr[left] == " " {
|
||||
strArr[right] = "0"
|
||||
strArr[right - 1] = "2"
|
||||
strArr[right - 2] = "%"
|
||||
left -= 1
|
||||
right -= 3
|
||||
} else {
|
||||
strArr[right] = strArr[left]
|
||||
left -= 1
|
||||
right -= 1
|
||||
}
|
||||
}
|
||||
|
||||
return String(strArr)
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-----------------------
|
||||
|
Reference in New Issue
Block a user