24 lines
962 B
Markdown
24 lines
962 B
Markdown
Leetcode #557 | #Easy | [[Два указателя]]
|
|
## Идея
|
|
Сплитим строку на массив слов, идем по массиву, каждое слово представляем как массив символов, через два указателя навстречу друг другу реверсим строку. Возвращаем строку через String.join
|
|
## [[Big-O]]
|
|
- Время ```O(N)```
|
|
- Память ```O(N)```
|
|
## Код
|
|
```Java
|
|
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);
|
|
}
|
|
}
|
|
``` |