本文共 1026 字,大约阅读时间需要 3 分钟。
字符串
牛客最近来了一个新员工 Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事 Cat 对 Fish 写的内容颇感兴趣,有一天他向 Fish 借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是 “I am a student.”。Cat 对一一的翻转这些单词顺序可不在行,你能帮助他么?
输入原字符串
“student. a am I”
以空格分割原字符串,得到分割后的字符串数组
["student.", "a", "am", "I"]
将分割后的字符串数组从尾到头合并在一起,如果不是字符串数组的第一个元素,合并时要加上空格
“I am a student.”
如果合并后字符串为空,说明原字符串为空格串,则直接返回原字符串(这里我也想不通为什么正常人类会写空格串)
" "
public class Solution { public String ReverseSentence(String str) { // 以空格分割原字符串,得到分割后的字符串数组 String[] split = str.split(" "); StringBuilder sb = new StringBuilder(); // 将分割后的字符串数组从尾到头合并在一起 for (int i = split.length - 1; i >= 0; i--) { sb.append(split[i]); // 如果不是第一个字符串数组,合并时加上空格 if (i > 0) { sb.append(" "); } } // 如果合并后字符串为空,说明原字符串为空格串,则直接返回原字符串 if (sb.toString().isEmpty()) { return str; } // 返回合并后字符串 return sb.toString(); }}
转载地址:http://oyjvb.baihongyu.com/