反转单词顺序
翻转单词顺序列
http://www.nowcoder.com/questionTerminal/3194a4f4cf814f63919d0790578d51f3
反转单词顺序
利用栈的特性进行处理。
import java.util.*;
public class Solution {
public String ReverseSentence(String str) {
Stack<String> stack = new Stack<String>();
String []strings = (str+" end").split(" ");//添加" end"来处理空格字符串结尾情况
for(int i=0;i<strings.length-1;i++){//最后的end不用入栈
stack.push(strings[i]);
}
//使用StringBuilder进行字符串拼接,减少内存消耗
StringBuilder builder = new StringBuilder();
while(stack.size()>0){
builder.append(stack.pop());
if(stack.size()>0)//除了最后一个单词,其他都要添加空格隔开
builder.append(" ");
}
return builder.toString();//转换成字符串
}
}


查看1道真题和解析