题解 | #牛群消息传递#

牛群消息传递

https://www.nowcoder.com/practice/28df6c40150a40b49c9c4d4ae1dd675d

知识点:字符串,双指针

我们首先需要找到每个不包含空格的单词,具体做法是利用双指针确定单词的首位位置,指向第一个不为空的字符,右指针指向最后一个不为空的字符,在向右移动时需要注意不能越界,得到单词后,将其存入list中,最后再逆序遍历list列表,将其组装成一个字符串,得到最终答案。

Java题解如下:

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串
     */
    public String reverseWords (String s) {
        // write code here
        int n = s.length();
        List<String> list = new ArrayList<>();
        for(int i = 0; i < n; i++) {
            if(s.charAt(i) == ' ') {
                continue;
            }
            int j = i;
            while(j < n && s.charAt(j) != ' ') {
                j++;
            }
            list.add(s.substring(i, j));
            i = j;
        }
        StringBuilder sb = new StringBuilder();
        for(int i = list.size() - 1; i >= 0; i--) {
            sb.append(list.get(i));
            if(i > 0) {
                sb.append(' ');
            }
        }
        return sb.toString();
    }
}

全部评论

相关推荐

虚闻松声:继续投吧。 简历没啥问题。很优秀。 拙见:自我评价没什么意义;试试转向Agent开发、大模型应用;别死磕传统Java开发。 免费修改简历,就业咨询,欢迎私信交流。
点赞 评论 收藏
分享
03-13 21:15
江南大学 Java
多少分能进面啊?卡测评吗?做的我道心破碎了💔
小南瓜_66:A3 第四道题为什么用例过了 结果显示0%
投递携程等公司10个岗位 > 携程求职进展汇总
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务