728x90
문제
Given an input string, reverse the string word by word.
Example 1:
Input: "the sky is blue"
Output: "blue is sky the"
Example 2:
Input: " hello world! "
Output: "world! hello"
Explanation: Your reversed string should not contain leading or trailing spaces.
Example 3:
Input: "a good example"
Output: "example good a"
Explanation: You need to reduce multiple spaces between two words to a single space in the reversed string.
Note:
- A word is defined as a sequence of non-space characters.
- Input string may contain leading or trailing spaces. However, your reversed string should not contain leading or trailing spaces.
- You need to reduce multiple spaces between two words to a single space in the reversed string.
Follow up:
For C programmers, try to solve it in-place in O(1) extra space.
공백으로 문자열을 쪼갠다.
공백을 없앤다.
반대 순서대로 문자열을 만들며 공백 하나씩 넣어준다.
문자열 끝 공백을 없애서 return 한다.
class Solution {
func reverseWords(_ s: String) -> String {
var answer = ""
var arr = s.components(separatedBy: " ")
print(arr)
for i in 0..<arr.count {
arr[i] = arr[i].replacingOccurrences(of: " ", with: "")
}
for i in (0..<arr.count).reversed() {
if arr[i] != "" {
answer.append(arr[i] + " ")
}
}
return answer.trimmingCharacters(in: .whitespacesAndNewlines)
}
}
728x90
'Algorithm > LeetCode' 카테고리의 다른 글
💯 Daily LeetCode Challenge Day_17 - Top K Frequent Elements (0) | 2020.07.18 |
---|---|
💯 Daily LeetCode Challenge Day_16 - Pow(x, n) (0) | 2020.07.18 |
💯 Daily LeetCode Challenge Day_14 - Angle between hands of a clock (0) | 2020.07.14 |
LeetCode - Container With Most Water (0) | 2020.07.14 |
💯 Daily LeetCode Challenge Day_13 - Same Tree (0) | 2020.07.13 |
댓글