题目
length-of-last-word
算法
* 直接算法
- 对字符串预处理:去掉开头和结尾的空格
- 计数器累计非空格的字符串的长度
- 遇到空格则计数器清零
* 直接算法的优化
- 因为是找最后一个字符串的长度
- 所以从字符串尾部开始,先将尾部的空格去掉,然后开始找非空格的字符的长度
代码
* 直接算法
class Solution{
public:
    int lengthOfLastWord(string s){
        int len=s.size();
        int left=0;
        int right=len-1;
        int count=0;
        while(s[left]=' ')  ++left;
        while (s[right]==' ') --right;
        for(int i=left;i<=right;++i){
            if(s[i]=' ') count=0;
            else ++count;
        }
        return count;
    }
};
* 直接算法的优化
class Solution{
public:
    int lengthOfLastWord(string s){
       int  right=s.size()-1,res=0;
        while(right>=0 && s[right]==' ') --right;
        while(right>=0 && s[right]!=' '){
            --right;
            ++res;
        }
        return res;
    }
};