反转单词顺序列(java)

翻转单词顺序列

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

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

思路:用java中的split方法将字符串按空格分割成字符数组,交换数组位置后再组成新的字符串即可

public class Solution {
    public String ReverseSentence(String str) {
        String[] ch=str.split("\\s+");//按空格分离字符串
        int n=ch.length;
        if(n==0){
            return str;
        }
        for(int i=0;i<n/2;i++){
            String tmp=ch[i];
            ch[i]=ch[n-1-i];
            ch[n-i-1]=tmp;
        }
        String result="";
        for(int i=0;i<n-1;i++){
            result=result+ch[i]+" ";
        }
        result=result+ch[n-1];
        return result;
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务