Reverse Words in a String III
Leetcode Easy
Problem
Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.
Example 1:
Input: "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"
Note: In the string, each word is separated by single space and there will not be any extra space in the string.
Solution
class Solution {
public String reverseWords(String s) {
String[] split = s.split(" ");
StringBuilder res = new StringBuilder();
for (String cur : split) {
StringBuilder sb = new StringBuilder(cur);
res.append(sb.reverse());
res.append(" ");
}
// Delete the trailing space
res.deleteCharAt(res.length()-1);
return res.toString();
}
}
Why it works
I use a StringBuilder object to build my final string as it is considerably faster than using a String object.