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
. 求最后一个非空单词的长度而已,没什么注意点,直接看代码,理解题目意思就可以了:
1 class Solution { 2 public: 3 int lengthOfLastWord(string s) { 4 int len = s.length(); 5 if(len == 0) return 0; 6 while(s[len - 1] == ' ') 7 if(len - 1 >= 0) 8 len--; 9 else10 return 0;11 len--;12 int lenCount = 0;13 while(s[len] != ' ' && len >= 0){14 lenCount++, len--;15 }16 return lenCount;17 }18 };
java版本的代码如下所示,倒过来读很容易了:
1 public class Solution { 2 public int lengthOfLastWord(String s) { 3 int i = s.length() - 1; 4 while(i >= 0 && s.charAt(i) == ' ') 5 i--; 6 int end = i+1; 7 while(i >= 0 && s.charAt(i) != ' ') 8 i--; 9 int start = i+1;10 return end - start;11 }12 }