58最後乙個單詞的長度 66加一

2021-10-14 14:16:37 字數 1467 閱讀 3446

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

如果不存在最後乙個單詞,請返回 0 。

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

示例:輸入: 「hello world」

輸出: 5

思路:首先找到最後乙個單詞的單詞尾部:即前乙個字元為字母後乙個字元為空格

找到最後乙個單詞的起始位置:前乙個位置為空格,後乙個位置為字母

end - start;

length為0則返回0

class

solution

while

(end >=

0&& s.

charat

(end)

==' '

) end--

;int start = end;

while

(start >=

0&& s.

charat

(start)

!=' '

) start--

;return end-start;

}}

給定乙個由 整數 組成的 非空 陣列所表示的非負整數,在該數的基礎上加一。

最高位數字存放在陣列的首位, 陣列中每個元素只儲存單個數字。

你可以假設除了整數 0 之外,這個整數不會以零開頭。

示例 1:

輸入:digits = [1,2,3]

輸出:[1,2,4]

解釋:輸入陣列表示數字 123。

示例 2:

輸入:digits = [4,3,2,1]

輸出:[4,3,2,2]

解釋:輸入陣列表示數字 4321。

示例 3:

輸入:digits = [0]

輸出:[1]

1 <= digits.length <= 100

0 <= digits[i] <= 9

根據題意加一,沒錯就是加一這很重要,因為它是只加一的所以有可能的情況就只有兩種:

除 99 之外的數字加一;

數字 99。

加一得十進一位個位數為 00 加法運算如不出現進製就運算結束了且進製只會是一。

所以只需要判斷有沒有進製並模擬出它的進製方式,如十位數加 11 個位數置為 00,如此迴圈直到判斷沒有再進製就退出迴圈返回結果。

然後還有一些特殊情況就是當出現 9999、999999 之類的數字時,迴圈到最後也需要進製,出現這種情況時需要手動將它進一位。

class

solution

} digits =

newint

[digits.length +1]

; digits[0]

=1;return digits;

}}

58 最後乙個單詞的長度

給定乙個僅包含大小寫字母和空格 的字串 s,返回其最後乙個單詞的長度。如果字串從左向右滾動顯示,那麼最後乙個單詞就是最後出現的單詞。如果不存在最後乙個單詞,請返回 0 說明 乙個單詞是指僅由字母組成 不包含任何空格的 最大子字串。示例 輸入 hello world 輸出 5 class soluti...

58 最後乙個單詞的長度

給定乙個僅包含大小寫字母和空格 的字串 s,返回其最後乙個單詞的長度。如果字串從左向右滾動顯示,那麼最後乙個單詞就是最後出現的單詞。如果不存在最後乙個單詞,請返回 0 說明 乙個單詞是指僅由字母組成 不包含任何空格的 最大子字串。示例 輸入 hello world 輸出 5 用split按空格分隔字...

58 最後乙個單詞的長度

給定乙個僅包含大小寫字母和空格 的字串s,返回其最後乙個單詞的長度。如果字串從左向右滾動顯示,那麼最後乙個單詞就是最後出現的單詞。如果不存在最後乙個單詞,請返回0。說明 乙個單詞是指僅由字母組成 不包含任何空格的 最大子字串。輸入 hello world 輸出 5對空格進行split 這樣剩下的都是...