44、翻转单词顺序列

题目描述
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

这题看着挺简单多,没想到试了4次都没ac。开始是生成翻转字符串时没有把空格加回去,然后是最后一个子串不能加空格。最大的坑是特殊情况的处理,比如为null、空串、只有空格等。

import java.util.*;
public class Solution {
    public String ReverseSentence(String str) {
        if(str == null){ return null;}
         if(str.trim().equals("")){
            return str;
        }
        StringBuffer strBuffer = new StringBuffer(str);
        strBuffer.reverse();
        String[] strs = strBuffer.toString().split(" ");
        strBuffer = new StringBuffer();
        for(int i=0; i<strs.length; i++){
            StringBuffer tmp = new StringBuffer(strs[i]);
            tmp.reverse();
            strBuffer.append(tmp.toString());
            if(i!=strs.length-1){
                strBuffer.append(" ");
            }
            
        }
        return strBuffer.toString();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的...
    juexin阅读 211评论 0 0
  • 翻转单词顺序列 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事C...
    Jacinth阅读 431评论 0 0
  • 题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的...
    NoFacePeace阅读 185评论 0 0
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,715评论 9 468
  • 昨天休息了一天,今天早上按理应该去上学,但是早上起来儿子还是说肚子痛,我就叫他坚持一下上午去上学中午实在坚持不了在...
    辉_0495阅读 229评论 0 2