-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path151.ReverseWords.cs
29 lines (26 loc) · 1.19 KB
/
151.ReverseWords.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 151. Reverse Words in a String
// Given an input string s, reverse the order of the words.
// A word is defined as a sequence of non-space characters. The words in s will be separated by at least one space.
// Return a string of the words in reverse order concatenated by a single space.
// Note that s may contain leading or trailing spaces or multiple spaces between two words. The returned string should only have a single space separating the words. Do not include any extra spaces.
// Example 1:
// Input: s = "the sky is blue"
// Output: "blue is sky the"
// Example 2:
// Input: s = " hello world "
// Output: "world hello"
// Explanation: Your reversed string should not contain leading or trailing spaces.
// Example 3:
// Input: s = "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.
public class Solution {
public string ReverseWords(string s) {
string[] words = s.Split(" ");
Array.Reverse(words);
List<string> lWords = new List<string>(words);
lWords.RemoveAll(x => x == "");
words = lWords.ToArray();
return string.Join(" ", words);
}
}