【LeetCode】(58)Length of Last Word(Easy)

来源:互联网 发布:数据采集系统应用领域 编辑:程序博客网 时间:2024/04/19 13:42

题目

Length of Last Word

 Total Accepted: 59959 Total Submissions: 218191My Submissions

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

For example, 
Given s = "Hello World",
return 5.














解析

只需要用一个i从后往前找,跳过空格,找到字符,然后遇到空格停止即可,需要注意边界条件。题目很简单,代码如下

class Solution {public:    int lengthOfLastWord(string s) {        int i = s.size()-1;int ret = 0;while ( i>=0 && s[i] == ' ') i--; while (i>=0 && s[i]!=' ') { i--; ret++; } return ret;    }};

看看大神代码

public:int lengthOfLastWord(const char *s) {  const string str(s);  auto first = find_if(str.rbegin(), str.rend(), ::isalpha);  auto last = find_if_not(first, str.rend(), ::isalpha);  return distance(first, last); }};

class Solution {public:int lengthOfLastWord(const char *s) {  int len = 0;  while (*s) {   if (*s++ != ' ')   ++len;  else if (*s && *s != ' ')     len = 0;  }  return len;}};













0 0