Reverse Words in a String III
Leetcode #557 | Easy | Два указателя
Идея
Сплитим строку на массив слов, идем по массиву, каждое слово представляем как массив символов, через два указателя навстречу друг другу реверсим строку. Возвращаем строку через String.join
Big-O
- Время
O(N) - Память
O(N)
Код
class Solution {
public String reverseWords(String s) {
String[] words = s.split(" ");
for (int i = 0; i < words.length; i++) {
char[] arr = words[i].toCharArray();
int l = 0, r = arr.length - 1;
while (l < r) {
char temp = arr[l]; arr[l] = arr[r]; arr[r] = temp;
l++; r--;
}
words[i] = new String(arr);
}
return String.join(" ", words);
}
}