标签:
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.
这道题个人觉得很简单的哈。
重点就是要想一个办法来判定这是不是最后一个word,什么时候最后一个word结束。
因为我们重点是最后一个word,所以写loop的时候就从后头往前。那么最简单判定一个单词是否结束的方法就是,判断这个字母的下一个字符依旧是字母还是是别的什么符号,如果不是字母,那就表示这个单词已经写完啦。
但是要注意就是有一个比较特殊的情况。如果从后面先是从空格开始然后才是单词呢。所以针对这个要额外多写一个if statement哈。
另外就是注意字母区分大小写的哈。
所以想通了这个,就很好写了。
public class Solution {
public int lengthOfLastWord(String s) {
//specail case
if(s==null){
return 0;
}
int count=0;
for(int i=s.length()-1;i>=0;i--){
char c=s.charAt(i);
if((c>=‘a‘&&c<=‘z‘)||(c>=‘A‘&&c<=‘Z‘)){
count++;
}else{
if(count==0){
count=0;
}else{
return count;
}
}
}
return count;
}
}
[LeetCode] Length of Last Word
标签:
原文地址:http://www.cnblogs.com/orangeme404/p/4720916.html