题解 | #翻转单词序列#

翻转单词序列

http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

使用双指针,i指向前面,j指向后面(其实也是双指针解题)。每次遇到空格进行截取,如果遇到了为空(i,j指向同一个位置,说明遇到了多个空格),不为空则为一个单词则进行截取。要对最前面没有空格的情况进行特殊处理。

public class Solution {
    public String ReverseSentence(String s) {
        int lens=s.length();
        if(lens<1){
            return s;
        }
        int i=lens-1,j=lens-1;
        String result="";
        boolean flag=false;
       while(i>=0){
            if(s.charAt(i)==' '){
                if(!s.substring(i+1,j+1).isEmpty()){
                    String s2=s.substring(i+1,j+1);

                    result+=s2;
                    result+=" ";
                    j=i;

                }
                j--;
                i--;

            }else{
                i--;

            }
            // 处理最前面没有空格的情况
            if(i==0 && s.charAt(i)!=' ' ){
                result+=s.substring(i,j+1);
                flag=true;
            }

        }
       if(flag){
           return result;
       }else{
           int len=result.length();
           return result.substring(0,len-1);
       }

    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
02-16 22:33
杉川机器人 嵌入式工程师 18.0k*13.0, 年终奖1~9个月浮动
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2024-12-30 18:02
程序员牛肉:1.可以标记一下自己的学校是985,有一些hr可能没想到你这个院校是985的。 2.简历所呈现出来的能力还是有点差的,苍穹外卖+黑马点评。这在java技术域里面也就是刚学三四个月的样子,大厂现在招人少,小厂又更加希望你能直接过来干活。就你简历上呈现出来的能力,确实是有点难找,肉眼可见的不懂技术。 第一个项目中:简单的使用redis也算是亮点嘛?使用jwt,threadlocal也算是亮点?你不就是调了几个包嘛?Nginx作为服务器也能写出来,这不是前端的活嘛? 第二个项目中:分布式锁+mq消息队列+Lua队列。真没啥好问的。属于面试官看一眼就阳痿的简历,没有任何想提问的欲望。 我给你建议是好好的挖一挖这个项目吧,其实苍穹外卖和黑马点评这两个项目很不错了,只不过是太烂大街了导致面试官没啥问的兴趣,所以不太推荐写简历上。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务