天天看點

leetcode算法58.最後一個單詞的長度

哈喽!大家好,我是【學無止境小奇】,一位熱愛分享各種技術的部落客!

⭐【學無止境小奇】的創作宗旨:每一條指令都親自執行過,每一行代碼都實際運作過,每一種方法都真實實踐過,每一篇文章都良心制作過。✊✊✊

⭐【學無止境小奇】的部落格中所有涉及指令、代碼的地方,除了提供圖檔供大家參考,另外會在圖檔下方提供一份純文字格式的指令或者代碼友善大家粘貼複制直接執行指令或者運作代碼。

⭐如果你對技術有着濃厚的興趣,歡迎關注【學無止境小奇】,歡迎大家和我一起交流。

❤️❤️❤️感謝各位朋友接下來的閱讀❤️❤️❤️

文章目錄

  • ​​一、leetcode算法​​
  • ​​ 1、 最後一個單詞的長度​​
  • ​​1.1、題目​​
  • ​​1.2、思路​​
  • ​​1.3、答案​​

一、leetcode算法

1、 最後一個單詞的長度

1.1、題目

給你一個字元串 s,由若幹單詞組成,單詞前後用一些空格字元隔開。傳回字元串中最後一個單詞的長度。

單詞 是指僅由字母組成、不包含任何空格字元的最大子字元串。

示例 1:

輸入:s = “Hello World”

輸出:5

示例 2:

輸入:s = " fly me to the moon "

輸出:4

示例 3:

輸入:s = “luffy is still joyboy”

輸出:6

1.2、思路

思路一:本題可以使用反向周遊字元串,從最後一個不為‘ ’的位置開始向前查找,直到查找到‘ ’的位置就是最後一個單詞的長度。

步驟一:首先擷取下标長度(字元串長度減一),然後反向周遊每一個字元,首先把‘ ’字元去掉。

步驟二:去掉最後的‘ ’字元後,就定義一個單詞長度變量用于存放單詞長度,然後從後往前周遊到‘ ’的地方就是最後一個單詞的長度。

1.3、答案

class Solution {
    public int lengthOfLastWord(String s) {
        int index = s.length() - 1;
        while(s.charAt(index) == ' '){
            index--;
        }

        int wordLength = 0;
        while(index >= 0 && s.charAt(index) != ' '){
            wordLength++;
            index--;
        }
        return wordLength;
    }
}