爱程序网

[LeetCode] Length of Last Word

来源: 阅读:

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;
        
    }
}

 

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助