您的位置:首页 > 其它

Length of Last Word 字符串中最后一个单词的长度 @LeetCode

2013-10-14 23:57 357 查看
/**
* 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 S58 {

public static void main(String[] args) {
//		String s = "Hello World";
String s = "  dda   ";
System.out.println(lengthOfLastWord(s));
}

// 从尾部向前遍历
public static int lengthOfLastWord(String s) {
int i;
int stringStart = -1;		// 用于标示string开始的地方,即出现非空格的地方
for(i=s.length()-1; i>=0; i--){
// 如果已经出现string头,且有空格标示string尾
if(stringStart!=-1 && s.charAt(i) == ' '){
return stringStart-i;
}
// 如果尚未出现string头,且当前这个符合string头,则标记当前为string头
else if(stringStart==-1 && s.charAt(i) != ' '){
stringStart = i;
}
}
// 如果string头已经找到了,而且已经遍历了整个string
if(stringStart!=-1 && i == -1){
return stringStart+1;
}
return 0;
}

}


灵活使用trim函数
public class Solution {
public int lengthOfLastWord(String s) {
if(s==null || s.length()==0){
return 0;
}
s = s.trim();
int i = s.length()-1;

while(i >= 0) {
if(s.charAt(i) == ' ') {
return s.length()-i-1;
}
i--;
}
return s.length();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: