题解 | #翻转单词序列#

翻转单词序列

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();
    }
}


全部评论

相关推荐

可可可可可_:nb啊,看样子是专科玩了几年随便专升本了个民办,又玩了两年。你这能找到我吃
点赞 评论 收藏
分享
双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务