题目
例子: “.you love I”
输出:“I love you.”
思路
- 将字符串按照空格分隔成数组。
- 将数组顺序入栈。
- 将栈中数据顺序出栈并添加到字符串中,用空格分隔。
- 去掉多余空格。
import java.util.*;
public class Solution {
public String ReverseSentence(String str) {
//边界检查
if(str == null || str.trim().length()==0){
return str;
}
StringBuilder stringBuilder = new StringBuilder();
//借助栈去倒置
Stack<String> stack = new Stack<>();
//以空格分隔
String[] split = str.split(" ");
for (String s : split) {
//压栈
stack.push(s);
}
while(!stack.empty()){
//添加进字符串并添加分隔符空格
stringBuilder.append(stack.pop()+" ");
}
String res = stringBuilder.toString();
String result = res.substring(0,res.length()-1);
return result;
}
}