题目的链接在这里:https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3
题目大意
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a nowcoder.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?一、示意图
二、解题思路
栈
栈
代码如下:
import java.util.*;
public class Solution {
public String ReverseSentence(String str) {
//反转单词序列 感觉先用空格给分隔起来 然后对每一个进行操作
//直接用StringBuffer
String[] s = str.split(" ");
String res="";
//然后对每一个进行输入
Stack<String> strings=new Stack<>();
for(int i=0;i<s.length;i++) {
//直接进队列即可
strings.add(s[i]);
}
//然后再一个一个输出
//用一个标记来判断是第一个
boolean flag=true;
while (!strings.isEmpty()){
String pop = strings.pop();
if(flag){
flag=false;
//表示他是第一个 直接输出即可
res=res+pop;
}
else{
//如果不是第一个的话
res=res+" "+pop;
}
}
return res;
}
}