天天看點

LeetCode_434_字元串中的單詞數

題目描述:

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

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

輸入示例:
輸入: "Hello, my name is John"
輸出: 5      

算法思想:周遊字元串,目前字元如果是非空格字元,且前一個字元是空格字元或者目前字元是非空格字元,且是第一個字元,則計數+1

class Solution {
public:
    int countSegments(string s) {
        int res=0;
        for(int i=0; i<s.length(); i++)
            if(s[i]!=' ' && (i==0 || s[i-1]==' '))
                res++;        
        return res;
    }
};      
LeetCode_434_字元串中的單詞數

方法2:stringstream會按照空格劃分字元串

class Solution {
public:
    int countSegments(string s) {
        
        int count=0;
        stringstream ss(s);
        while(ss>>s)
            count++;
        return count;
    }
};      
LeetCode_434_字元串中的單詞數
class Solution {
public:
    int countSegments(string s) {
        int count=0;
        for(int i=0;i<s.size();i++){
           if(s[i]!=' ') count++;
            while(i<s.size()&& s[i]!=' ') i++; 
        }
        return count;
    }
};