Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 1010 Bytes

File metadata and controls

37 lines (31 loc) · 1010 Bytes

LeetCode Records - Question 557 Reverse Words in a String III

Attempt 1: Reverse every word

class Solution {
    public String reverseWords(String s) {
        char[] words = s.toCharArray();
        StringBuilder stringBuilder = new StringBuilder();
        
        int start = 0;
        int end = 0;

        for (int i = 0; i < words.length; i++) {
            if (words[i] == ' ') {
                reverseWord(words, start, end, stringBuilder);
                stringBuilder.append(' ');
                start = i + 1;
            } else {
                end = i;
            }
        }
        reverseWord(words, start, end, stringBuilder);

        return stringBuilder.toString();
    }

    private void reverseWord(char[] word, int start, int end, StringBuilder stringBuilder) {
        for (int i = end; i >= start; i--) {
            stringBuilder.append(word[i]);
        }
    }
}
  • Runtime: 5 ms (Beats: 68.12%)
  • Memory: 45.49 MB (Beats: 22.21%)