编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
func reverseString(_ s: inout [Character]) {
let n = s.count
var left = 0
var right = n - 1
while left < right {
let char = s[left]
s[left] = s[right]
s[right] = char
left += 1
right -= 1
}
}
557. 反转字符串中的单词 III
给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
func reverseWords(_ s: String) -> String {
let reverse = String(s.reversed())
let array = reverse.split(separator: " ")
let res = array.reversed().joined(separator: " ")
return res
}
附一个不明觉厉的写法 作者:acan7
class Solution {
func reverseWords(_ s: String) -> String {
s.split(separator: " ").map { String($0.reversed()) }.joined(separator: " ")
}
}