题解 | #牛群消息传递#
牛群消息传递
https://www.nowcoder.com/practice/28df6c40150a40b49c9c4d4ae1dd675d
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ public String reverseWords (String s) { // write code here // 将字符串按照空格分割成单词数组 String[] words = s.split(" "); // 创建一个 StringBuilder 用于构建倒序排列的字符串 StringBuilder reversed = new StringBuilder(); // 从最后一个单词开始遍历,将单词加入 StringBuilder for (int i = words.length - 1; i >= 0; i--) { if (!words[i].isEmpty()) { reversed.append(words[i]); if (i > 0) { reversed.append(" "); } } } return reversed.toString().trim(); } }
Java代码
该题考察String的API,挺简单的。最后用trim取出最后的多余空格即可。
- 使用 split(" ") 方法将字符串 s 按照空格分割成单词数组 words。
- 创建一个 StringBuilder 对象 reversed,用于构建倒序排列的字符串。
- 从最后一个单词开始遍历单词数组,将每个单词加入 reversed 中。注意在添加单词之间添加一个空格,但是要确保开头和结尾没有多余的空格。
- 返回 reversed.toString().trim(),得到恢复顺序后的字符串。