Java [Leetcode 58]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.

解题思路:

先定位到字符串从后往前数第一个不为空字符的位置,然后进行判断。

从第一个位置向后读取,每遇到空字符则将计数器清零,然后下次继续计数。

代码如下:

public class Solution {
    public int lengthOfLastWord(String s) {
    	int curLen = 0, len = 0, end = -1;

    	if(s == null || (len = s.length()) == 0) 
    		return 0;
    	for(int i = len - 1; i >= 0; i--){
    		if(s.charAt(i) != ' ') {
    			end = i;
    			break;
    		}   			
    	}

    	for(int i = 0; i <= end; i++){
    		if(s.charAt(i) != ' ')
    			curLen++;
    		else {
    			curLen = 0;
    		}
    	}
    	return curLen;
    }
}

  

 

posted @ 2016-02-05 21:57  scottwang  阅读(245)  评论(0编辑  收藏  举报