题解 | #翻转单词序列#

翻转单词序列

http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

第一种方法最容易想到的就是利用string的api,split切割空格获得string数组,然后逆序访问。
import java.util.*;
public class Solution {
    public String ReverseSentence(String str) {
        if(str.length() == 0){
            return str;
        }
        
        StringBuilder rt = new StringBuilder();
        
        String strS[] = str.split(" ");
        for(int i = strS.length-1; i >= 0; i--){
            rt.append(" ");
            rt.append(strS[i]);
        }
        
        return rt.deleteCharAt(0).toString();
    }
}

第二种方法是利用栈的先入后出原理,先切割空格获得String数组,然后通过栈进行排序,而后顺序访问。
import java.util.*;
public class Solution {
    public String ReverseSentence(String str) {
        if(str.length() == 0){
            return str;
        }
        
        StringBuilder rt = new StringBuilder();
        
        String strS[] = str.split(" ");
        ArrayList<String> stack = new ArrayList(strS.length);
        for(int i = 0; i < strS.length; i++){
            stack.add(0, strS[i]);
        }
        
        for(int i = 0; i < stack.size(); i++){
            rt.append(" ");
            rt.append(stack.get(i));
        }
        
        return rt.deleteCharAt(0).toString();
    }
}


全部评论

相关推荐

07-09 18:28
门头沟学院 Java
写着提前批,结果还要实习4个月以上???
程序员牛肉:这种不用看,直接投了,面试的时候问对应的HR就行。有可能他们是直接复制的暑期实习的模板。
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务