LeetCode - 557. Reverse Words in a String III(String, Two Pointers)

YAMAMAMO·2022년 2월 15일
0

LeetCode

목록 보기
26/100

문제

문자열 s가 주어지면 공백과 초기 단어 순서를 유지하면서 문장 내 각 단어의 문자 순서를 반대로 합니다.

Given a string s, reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

https://leetcode.com/problems/reverse-words-in-a-string-iii/

Example 1:

Input: s = "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"

Example 2:

Input: s = "God Ding"
Output: "doG gniD"

풀이

자바입니다.

  • charAt()을 사용해서 공백을 찾습니다.
  • StringBuilder 의 append()를 사용해서 더하고 String reverse()를 사용해서 단어 순서를 반대로 합니다.
class Solution {
    public String reverseWords(String s) {
        StringBuilder res = new StringBuilder("");
        int i=0;
        for(int j = 1;j<s.length();j++){
            if(s.charAt(j)==' '){
                res.append(new StringBuilder(s.substring(i,j)).reverse()+" ");
                i=j+1;   
            }      
        }
        res.append(new StringBuilder(s.substring(i)).reverse());
        return res.toString();
    }
}
profile
안드로이드 개발자

0개의 댓글