LintCode - 最后一个单词的长度(普通)

版权声明:本文为博主原创文章,未经博主允许不得转载。

难度:容易
要求:

给定一个字符串, 包含大小写字母、空格' ',请返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。

样例
给定 s = "Hello World",返回 5。

思路:
注意可能出现字符串形式:
1."b a " 空格隔开
2." b a" 空格隔开
3."a" 全是单词
4." " 全是空格

 /**
     * "b a "   "a"  "  "
     * 
     * @param s A string
     * @return the length of last word
     */
    public int lengthOfLastWord(String s) {
        int len = s.length();
        int last = -1;//记录最后一个字母出现的位置
        
        for(int i = len - 1; i >= 0; i--){
            char c = s.charAt(i);
            
            if(last < 0){
                if(' ' - c != 0){
                    last = i;
                }
            }
            
            if(last >= 0 && ' ' - c == 0){//计算单词位置
                return last - i;
            }
        }
        
        //如果都是空格 '    '
        if(last < 0){
            return 0;
        }
        
        return len;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容