Advertisement
HXXXXJ

151. Reverse Words in a String

Mar 24th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.92 KB | None | 0 0
  1.     func reverseWords(_ s: String) -> String {
  2.         let arr = Array(s.trimmingCharacters(in: .whitespaces))
  3.         var runner = arr.count - 1
  4.         var last = arr.count - 1
  5.         var res = [String]()
  6.         while runner >= 0{
  7.             var last = runner
  8.             while runner >= 0 && arr[runner] != " " {
  9.                 runner -= 1
  10.             }
  11.             res.append(String(arr[runner + 1 ... last]))
  12.             while runner >= 0 && arr[runner] == " " {
  13.                 runner -= 1
  14.             }
  15.         }
  16.         if res.count == 0 {return ""}
  17.         var i = 0
  18.         var ans = res[i]
  19.         i += 1
  20.         while i < res.count {
  21.             ans = ans + " " + res[i]
  22.             i += 1
  23.         }
  24.         return ans
  25.     }
  26.  
  27.  
  28.  
  29. //用系统API
  30.     func reverseWords(_ s: String) -> String {
  31.         let parts = s.split(separator: " ").reversed()
  32.         return parts.joined(separator: " ")
  33.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement