iT邦幫忙

2024 iThome 鐵人賽

0
佛心分享-刷題不只是刷題

刷經典 LeetCode 題目系列 第 72

經典LeetCode 58. Length of Last Word

  • 分享至 

  • xImage
  •  

題目:

給你一個由英文字母和空格組成的字串 s,回傳字串中最後一個單詞的長度。
單詞指由非空格字元組成的最大子字串,並且字串末尾可能有多餘的空格。

解題思路

這題很重要的一點就是從後面往前找,也就是從右往左,這樣可以節省時間,

所以一開始就是跳過空白,來到最後一個 word,接著開始計算 word 的長度,

class Solution {
public:
    int lengthOfLastWord(string s) {
        int i = s.size() - 1;
        int len = 0;

        // 從右到左,跳過空白
        while (i >= 0) {
            if (s[i] == ' ')
                i--;
            else
                break;
        }

        // 計算word長度
        while (i >= 0) {
            if (s[i] != ' ')
                len++;
            else
                break;
            i--;
        }

        return len;
    }
};

參考:
#58. Length of Last Word


上一篇
經典LeetCode 412. Fizz Buzz
系列文
刷經典 LeetCode 題目72
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言