天天看點

LeetCode 58. 最後一個單詞的長度 (Java)

  1. 最後一個單詞的長度

給定一個僅包含大小寫字母和空格 ’ ’ 的字元串 s,傳回其最後一個單詞的長度。如果字元串從左向右滾動顯示,那麼最後一個單詞就是最後出現的單詞。

如果不存在最後一個單詞,請傳回 0 。

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

示例:

輸入: “Hello World”

輸出: 5

來源:力扣(LeetCode)

連結:https://leetcode-cn.com/problems/length-of-last-word

著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

思路:從字元串末尾往前數,遇到空格停止,但要注意“a ”即一個單詞後加一個空格的情況,是以判斷的時候就是遇到空格時再判斷一次計數是否為0,如果不為0則是碰見空格前已經碰見過單詞,如果為0則是特殊情況,需要繼續計數。

class Solution {
    public int lengthOfLastWord(String s) {
        int count=0;
        if(s.length()==0)
        {
            return count;
        }
        for(int i=s.length()-1;i>=0;i--)
        {
            if(s.charAt(i)!=' ')
            {
                count++;
            }
            else if(count>0)//遇到空格時再判斷一次計數是否為0
            {
                return count;
            }
        }
        return count;
    }
}