先将字符串以空格分隔开,并把每一个单词入栈(需把空格补上),再使用栈将其将分隔开的每一个单词逆序存入StringBuilder即可

import java.util.*;
public class Solution {
     public String ReverseSentence(String str) {
        Stack stack = new Stack();
        StringBuilder stringBuilder = new StringBuilder();
        String[] s = str.split(" ");
        for (String s1 : s) {
            stack.push(s1);
            stack.push(" ");
        }
        stack.pop();    //删掉多余的一个空格,首字母前不含空格
        while (!stack.isEmpty()){
            stringBuilder.append(stack.pop());
        }
        String s1 = stringBuilder.toString();
        return s1;
    }
}