国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

leetcode 151. Reverse Words in a String

yzd / 3447人閱讀

摘要:題目要求講一個字符串中的單詞逆序輸出,單詞中字母順序不發(fā)生改變。其中,字符串首位的空格應(yīng)刪去,字符串中如果存在多余的空格,只需輸出一個空格。這里用到的正則表達(dá)式為也就是遇到一個或多個空白時斷句。

題目要求
Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

Update (2015-02-12):
For C programmers: Try to solve it in-place in O(1) space.

click to show clarification.

Clarification:
What constitutes a word?
A sequence of non-space characters constitutes a word.
Could the input string contain leading or trailing spaces?
Yes. However, your reversed string should not contain leading or trailing spaces.
How about multiple spaces between two words?
Reduce them to a single space in the reversed string.

講一個字符串中的單詞逆序輸出,單詞中字母順序不發(fā)生改變。其中,字符串首位的空格應(yīng)刪去,字符串中如果存在多余的空格,只需輸出一個空格。

思路一:正則表達(dá)式

關(guān)于正則表達(dá)式的詳細(xì)信息,請參考我的這篇博客
在這里,我們只需要將句子中的單詞通過split的正則表達(dá)式讀取出來即可。這里用到的正則表達(dá)式為s+,也就是遇到一個或多個空白時斷句。

    public String reverseWords(String s) {
        String[] array = s.trim().split("s+");
        String result = "";
        for(int i = array.length-1 ; i>0 ; i--){
            result += array[i] + " ";
        }
        return result + array[0];
    }
思路二:雙指針

其實(shí)雙指針這里也用了String的API,不過核心的思路還是在于通過雙指針找到一個單詞的位置,然后通過獲得子字符串的方法將其提取出來加入到結(jié)果集中。

    public String reverseWords(String s){
        String trimmed = s.trim();
        int prev = trimmed.length();
        int index = prev;
        StringBuilder result = new StringBuilder();
        while ((index = trimmed.lastIndexOf(" ", index-1)) > 0) {
            if (index < prev-1) {
                result.append(trimmed.substring(index+1, prev));
                result.append(" ");
            }
            prev = index;
        }
        result.append(trimmed.substring(index+1, prev));
        return result.toString();
    }


想要了解更多開發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號!將會不定期的發(fā)放福利哦~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/70218.html

相關(guān)文章

  • LeetCode 151:給定一個字符串,逐個翻轉(zhuǎn)字符串中的每個單詞 Reverse Words i

    摘要:說明無空格字符構(gòu)成一個單詞。輸入字符串可以在前面或者后面包含多余的空格,但是反轉(zhuǎn)后的字符不能包括。我們將字符串轉(zhuǎn)為字符型數(shù)組并用兩個指針來解這道題。指針作為原字符串轉(zhuǎn)為字符數(shù)組的索引,從右向左移。 公眾號:愛寫bug(ID:icodebugs) 翻轉(zhuǎn)字符串里的單詞 Given an input string, reverse the string word by word. 示例 1:...

    red_bricks 評論0 收藏0
  • LeetCode 151:給定一個字符串,逐個翻轉(zhuǎn)字符串中的每個單詞 Reverse Words i

    摘要:說明無空格字符構(gòu)成一個單詞。輸入字符串可以在前面或者后面包含多余的空格,但是反轉(zhuǎn)后的字符不能包括。我們將字符串轉(zhuǎn)為字符型數(shù)組并用兩個指針來解這道題。指針作為原字符串轉(zhuǎn)為字符數(shù)組的索引,從右向左移。 公眾號:愛寫bug(ID:icodebugs) 翻轉(zhuǎn)字符串里的單詞 Given an input string, reverse the string word by word. 示例 1:...

    dongxiawu 評論0 收藏0
  • LeetCode 之 JavaScript 解答第151題 —— 反轉(zhuǎn)字符串中的單詞

    摘要:小鹿題目翻轉(zhuǎn)字符串里的單詞給定一個字符串,逐個翻轉(zhuǎn)字符串中的每個單詞。說明無空格字符構(gòu)成一個單詞。遇到空格之后,將單詞進(jìn)行倒序拼接。消除尾部的空格。測試用例空字符串。中間空格大于的字符串。 Time:2019/4/20Title: Reverse Words In a StringDifficulty: MidumnAuthor: 小鹿 題目:Reverse Words In a ...

    betacat 評論0 收藏0
  • [Leetcode] Reverse Words in a String 反轉(zhuǎn)單詞順序

    摘要:代碼先反轉(zhuǎn)整個數(shù)組反轉(zhuǎn)每個單詞雙指針交換法復(fù)雜度時間空間思路這題就是版的做法了,先反轉(zhuǎn)整個數(shù)組,再對每個詞反轉(zhuǎn)。 Reverse Words in a String Given an input string, reverse the string word by word. For example, Given s = the sky is blue, return blue is...

    codeKK 評論0 收藏0
  • [LeetCode] Reverse Words in a String II

    Problem Reverse Words in a String IIGiven an input string , reverse the string word by word. Example Input: [t,h,e, ,s,k,y, ,i,s, ,b,l,u,e]Output: [b,l,u,e, ,i,s, ,s,k,y, ,t,h,e] Note A word is defin...

    浠ラ箍 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<