【题目描述】
给定一个字符串 s
,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
【示例】
【代码】admin
package com.company;
// 2023-03-23
import java.util.*;
class Solution {
public String reverseWords(String s) {
String[] split = s.split("\\s+");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < split.length; i++){
sb.append(new StringBuilder(split[i]).reverse()).append(" ");
}
// System.out.println(sb.toString().trim());
return sb.toString().trim();
}
}
public class Test {
public static void main(String[] args) {
new Solution().reverseWords("Let's take LeetCode contest"); // 输出:"s'teL ekat edoCteeL tsetnoc"
new Solution().reverseWords("God Ding"); // 输出:"doG gniD"
}
}
【代码】leecode
package com.company;
// 2023-03-23
import java.util.*;
class Solution {
public String reverseWords(String s) {
StringBuilder sb = new StringBuilder();
int len = s.length();
int i = 0;
while (i < len){
int left = i;
while (i < len && s.charAt(i) != ' '){
i++;
}
for (int j = left; j < i; j++){
sb.append(s.charAt(left + i - 1 - j));
}
if (i < len && s.charAt(i) == ' '){
i++;
sb.append(" ");
}
}
System.out.println(sb.toString());
return sb.toString();
}
}
public class Test {
public static void main(String[] args) {
new Solution().reverseWords("Let's take LeetCode contest"); // 输出:"s'teL ekat edoCteeL tsetnoc"
new Solution().reverseWords("God Ding"); // 输出:"doG gniD"
}
}
标签:String,557,Solution,public,LeeCode,new,sb,III,reverseWords
From: https://blog.51cto.com/u_13682316/6146016