1. 程式人生 > 其它 >刷題-力扣-434. 字串中的單詞數

刷題-力扣-434. 字串中的單詞數

434. 字串中的單詞數

題目連結

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/number-of-segments-in-a-string
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

題目描述

統計字串中的單詞個數,這裡的單詞指的是連續的不是空格的字元。

請注意,你可以假定字串裡不包括任何不可列印的字元。

示例:

輸入: "Hello, my name is John"
輸出: 5
解釋: 這裡的單詞是指連續的不是空格的字元,所以 "Hello," 算作 1 個單詞。

題目分析

  1. 根據題目描述計算字串s中的單詞數
  2. 單詞與單詞之間以空格分割,只需判斷s[i-1]不是空格s[i]是空格,就可以認為s[i-1]是單詞的結尾
  3. 當遍歷結束,字串s的末尾不是空格時,再將單詞數加一

程式碼

class Solution {
public:
    int countSegments(string s) {
        int num = 0;
        int sLen = s.length();
        if(sLen == 0) { return 0; }
        for (int i = 1; i < sLen; ++i) {
            if (s[i - 1] != ' ' && s[i] == ' ') { ++num; }
        }
        return s[sLen - 1] == ' ' ? num : num + 1;
    }
};