x

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);
    }
}
Left-click: follow link, Right-click: select node, Scroll: zoom
x