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

資訊專欄INFORMATION COLUMN

LeetCode 之 JavaScript 解答第151題 —— 反轉字符串中的單詞

betacat / 941人閱讀

摘要:小鹿題目翻轉字符串里的單詞給定一個字符串,逐個翻轉字符串中的每個單詞。說明無空格字符構成一個單詞。遇到空格之后,將單詞進行倒序拼接。消除尾部的空格。測試用例空字符串。中間空格大于的字符串。

Time:2019/4/20
Title: Reverse Words In a String
Difficulty: Midumn
Author: 小鹿

題目:Reverse Words In a String(翻轉字符串里的單詞)

Given an input string, reverse the string word by word.

給定一個字符串,逐個翻轉字符串中的每個單詞。

Example 1:

Input: "the sky is blue"
Output: "blue is sky the"

Example 2:

Input: "  hello world!  "
Output: "world! hello"
Explanation: Your reversed string should not contain leading or trailing spaces.

Example 3:

Input: "a good   example"
Output: "example good a"
Explanation: You need to reduce multiple spaces between two words to a single space in the reversed string.

Note:

A word is defined as a sequence of non-space characters.

Input string may contain leading or trailing spaces. However, your reversed string should not contain leading or trailing spaces.

You need to reduce multiple spaces between two words to a single space in the reversed string.

說明:

無空格字符構成一個單詞。

輸入字符串可以在前面或者后面包含多余的空格,但是反轉后的字符不能包括。

如果兩個單詞間有多余的空格,將反轉后單詞間的空格減少到只含一個。

Solve:
▉ 問題分析
所有的單詞進行倒序輸出,且單詞之間的空格只需保留一個,句子前后的空格全部清除。通過題目具體要求,我們已經對問題分析清除,只要解決怎么消除句子前后空格,以及倒序拼接單詞,將單詞之間的空格數減少至一就可以完成此題作答。
▉ 算法思路
1)跳過句子前所有空格。

2)借助變量反轉單詞,每遍歷到一個字符,在遇到下一個空格之前,為一個完整單詞。

3)遇到空格之后,將單詞進行倒序拼接。

4)消除尾部的空格。

▉ 測試用例
1)空字符串。

2)中間空格大于 1 的字符串。

3)單詞中有標點符號的字符串。

▉ 代碼實現
 var reverseWords = function(s) {
     // 判斷當前的單詞是否為空字符串
     if(s.length === 0) return "";

     let [index,len] = [0,s.length];
     let word = "";
     let result = "";

     while(index < len){
         // 跳過空格
         while(index < len && s.charAt(index) == " "){
             index ++;
         }

         // 反轉單詞
         while(index < len && s.charAt(index) !== " "){
             word = `${word}${s.charAt(index)}`;
             index ++;
         }
         // 拼接
         result = word + " " + result;
         word = "";
     }
     return result.trim(); 
 };


歡迎一起加入到 LeetCode 開源 Github 倉庫,可以向 me 提交您其他語言的代碼。在倉庫上堅持和小伙伴們一起打卡,共同完善我們的開源小倉庫!
Github:https://github.com/luxiangqia...

歡迎關注我個人公眾號:「一個不甘平凡的碼農」,記錄了自己一路自學編程的故事。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103773.html

相關文章

  • LeetCode JavaScript 解答344 —— 反轉符串(Reverse Str

    摘要:小鹿題目反轉字符串編寫一個函數,其作用是將輸入的字符串反轉過來。輸入字符串以字符數組的形式給出。如果為奇數,當兩個指針相等時,反轉完畢。測試用例空字符串。奇數個數的字符串。長度為的字符串。考查內容對字符串的基本操作。 Time:2019/4/18Title: Reverse StringDifficulty: EasyAuthor: 小鹿 題目:Reverse String(反轉字...

    bbbbbb 評論0 收藏0
  • LeetCode JavaScript 解答206 —— 反轉鏈表(Reverse Link

    摘要:算法思路兩種方法一般反轉遞歸法一般解決定義三個指針,分別為,存儲當前結點,指向反轉好的結點的頭結點,存儲下一結點信息。遞歸法重點分析先確定終止條件當下一結點為時,返回當前節點判斷當前的鏈表是否為遞歸找到尾結點,將其存儲為頭結點。 Time:2019/4/23Title: Reverse Linked ListDifficulty: EasyAuthor: 小鹿 題目:Reverse...

    zhangfaliang 評論0 收藏0
  • LeetCode JavaScript 解答226 —— 翻轉二叉樹(Invert Bina

    摘要:算法思路判斷樹是否為空同時也是終止條件。分別對左右子樹進行遞歸。代碼實現判斷當前樹是否為左右子樹結點交換分別對左右子樹進行遞歸返回樹的根節點歡迎一起加入到開源倉庫,可以向提交您其他語言的代碼。 Time:2019/4/21Title: Invert Binary TreeDifficulty: EasyAuthor: 小鹿 題目:Invert Binary Tree(反轉二叉樹) ...

    MingjunYang 評論0 收藏0
  • LeetCode 151:給定一個符串,逐個翻轉符串中的每個單詞 Reverse Words i

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

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

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

    dongxiawu 評論0 收藏0

發表評論

0條評論

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