剑指Offer JZ44 翻转单词顺序列(Java)

一 题目描述

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

input: student. a am I
ouput: I am a student.

思路及解题

以标点或者空格为间隔读取输入字符串到末尾存好,再从末尾读取字符串

1 以空格" "分隔输入字符并放入字符串数组
2 从末尾读取字符串数组,并存入StringBuffer对象中
3 使用toString()方法,最后返回字符串

public class Solution {
    public String ReverseSentence(String str) {
        if(str.trim().equals("")){
            return str;
        }
        String[] strArr = str.split(" ");
        StringBuffer str_temp = new StringBuffer();
        for(int i = strArr.length-1 ; i>=0;i--){
            if(i==0){
                str_temp.append(strArr[i]);
            }else{
                str_temp.append(strArr[i]);
                str_temp.append(" ");
            }
        }
        String str_result = str_temp.toString();
        return str_result;
    }
}

你可能感兴趣的:(刷题)