LeetCode-58. Length of Last Word
阿新 • • 發佈:2018-03-08
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"); return0; }
LeetCode-58. Length of Last Word