1. 程式人生 > >LeetCode-58. Length of Last Word

LeetCode-58. Length of Last Word

hello pos 組成 amp 第一個 == span spa code

一、問題描述

  給定一個字符串s,s是由多個單詞組成,單詞之間以‘ ’分開,找出最後一個單詞的長度。如果沒有最後單詞則返回0。

二、問題描述

  先找到最後一個單詞的末尾,因為s可能以空格結尾,所以從後往前找到第一個不是空格的字符。然後再向前找到該單詞的起始位置。

int lengthOfLastWord(string s) {
    if (s.size() == 0) return 0;
    int i = s.size() - 1;
    while (i >= 0 && s[i] ==  )
        i--;
    //逆序來看,此時i為第一個不為‘ ’的字符串
int endpos = i; //i繼續向前找,endpos不用變了 for (; i >= 0; --i) if (s[i] == ) return endpos - i; if (i == -1) return endpos+1; } //這是測試用例 int main() { string s = "hello world"; cout << lengthOfLastWord(s) << endl; system("pause"); return
0; }

LeetCode-58. Length of Last Word