给定一个字符串,颠倒一个句子中每个单词的顺序 同时保留空格和原始单词顺序
时间: 2024-09-13 07:05:25 浏览: 47
输入一个英文句子,翻转句子中单词的顺序
要实现给定一个字符串,然后颠倒句子中每个单词的顺序,同时保留空格和原始单词的顺序,可以通过以下步骤来完成:
1. 首先,将整个句子按空格分割成单词数组。
2. 遍历单词数组,对每个单词使用字符数组来颠倒字符的顺序。
3. 最后,将颠倒后的单词重新组合成句子。
以Java语言为例,具体实现代码如下:
```java
public class ReverseWordsInSentence {
public static String reverseWords(String s) {
if (s == null || s.length() <= 1) {
return s;
}
String[] words = s.split(" ");
StringBuilder reversed = new StringBuilder();
for (String word : words) {
char[] charArray = word.toCharArray();
reverse(charArray);
reversed.append(new String(charArray)).append(" ");
}
return reversed.toString().trim();
}
private static void reverse(char[] array) {
int left = 0;
int right = array.length - 1;
while (left < right) {
char temp = array[left];
array[left] = array[right];
array[right] = temp;
left++;
right--;
}
}
public static void main(String[] args) {
String input = "Hello World";
System.out.println(reverseWords(input)); // 输出: olleH dlroW
}
}
```
这段代码首先定义了一个`reverseWords`方法,它接受一个字符串`s`作为参数。然后,该方法将输入的字符串按空格分割成单词数组,接着遍历这个数组,并对每个单词调用`reverse`方法来颠倒字符顺序。最后,将所有颠倒后的单词重新拼接成一个新的字符串,并返回结果。
阅读全文