字符串反转算法

字符串反转

给定一个字符串,要求按照其按照单词的顺序进行反转
即: oc is the best language
反转后的字符串应该为: language is the bast oc

思路:我们首先可以对给定的字符串进行普通的反转,然后将反转后的字符串进行切割成单词只有再反转会正常的单词。swift实现如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
fileprivate func _reverseWold(_ s: String?)->String?{
//首先先对整体字符串反转
guard let s = s else {
return nil
}
let rs = String(s.reversed())
//对反转后的字符串在切割成单词反转
var result = String()
let array = rs.split(separator: " ")
for (i,word) in array.enumerated(){
let rw = String(word.reversed())
if i != array.count-1{
result.append(rw+" ")
}else{
result.append(rw)
}
}
return result;
}
-------评论系统采用disqus,如果看不到需要翻墙-------------