151. Reverse Words in a String (Medium) (https://leetcode.com/problems/reverse-words-in-a-string/)
Дана входная строка s, необходимо изменить порядок слов на обратный. Словом называется последовательность непробельных символов. Слова в s разделены хотя бы одним пробелом. Верните строку из слов в обратном порядке, соединённых одним пробелом. Обратите внимание, что s может содержать ведущие или завершающие пробелы, а также несколько пробелов между словами. В возвращённой строке слова должны быть разделены ровно одним пробелом. Не включайте лишние пробелы. Ограничения: - 1 <= s.length <= 10^4 - s содержит английские буквы (верхнего и нижнего регистра), цифры и пробелы ’ ’.
- В s есть хотя бы одно слово. Дополнительный вопрос: если тип данных строки в вашем языке изменяемый, сможете ли вы решить задачу на месте с O(1) дополнительной памяти?
function reverseWords(s: string): string {
return s.trim().split(/\s+/).reverse().join(" ")
}
// Local check:
console.log(reverseWords("the sky is blue"))
console.log(reverseWords(" hello world "))
console.log(reverseWords("a good example"))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.two-pointers 125-valid-palindrome 1768-merge-strings-alternately leetcode