码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode Reverse Words in a String

时间:2015-09-21 06:58:42      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

原题链接在这里:https://leetcode.com/problems/reverse-words-in-a-string/

把原有string s按照空格分开存入strArr中,再从strArr尾部开始一个一个加到StringBuikder中即可。

Note:  1.这里学习了几个新的API, string.split(" ")可以按照空格把原有string分开但若是有连续空格比如"a  a"中间有两个空格,就会拆成[a,  , a], 中间的空格会保留。但若是用string.splict("\\s+")也是按照空格分开,但是上面连续两个空格时就不会额外拆出一个空格。

2. 若是string开头有空格,如" a", 拆出的array也会包含空的string, strArr 会像["","a"]. 所以要像Simplify Path在加到StringBuikder前判定strArr[i].length()是否为0.

3.最后会多加一个 空格 在sb中,所以最后要用sb.deleteCharAt(sb.length()-1)消掉最后一个空格。

 

AC Java:

public class Solution {
    public String reverseWords(String s) {
        if(s == null || s.length() == 0){
            return s;
        }
        String [] strArr = s.split("\\s+");
        if(strArr.length == 0){
            return "";
        }
        StringBuilder sb = new StringBuilder();
        for(int i = strArr.length-1; i>=0; i--){
            if(strArr[i].length() == 0){
                continue;
            }
            sb.append(strArr[i] + " ");
        }
        sb.deleteCharAt(sb.length()-1);
        return sb.toString();
    }
}

 

LeetCode Reverse Words in a String

标签:

原文地址:http://www.cnblogs.com/Dylan-Java-NYC/p/4825096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!