题解 | #翻转单词序列#

翻转单词序列

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


全部评论

相关推荐

头像
10-16 09:58
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务