leetcode刷题937-9 | 58 Length of Last Word
问题描述:给你一个含有字母大小写和空格的字符串,要求输出最后一个的单词的长度。 如果最后一个单词不存在,则返回0
示例: 输入:“Hello World” 输出: 5
解题思路:判断哪个单词时最后一个单词
具体方法:1.顺序读取字符串,记录每个单词的长度,并根据最后一个单词的特性(后面没有空格也没有字符,或后面全是空格),然后设置条件语句,判断是否为最后一个单词,若时则输出单词长度 2.倒序读取字符串,只要判断出哪一个单词时第一个读取出来的,就可以求出它的长度了。
代码:
顺序:
int lengthOfLastWord(char* s) {
int i=0,j=0,k=strlen(s);
for(i=0;i<k;i++){
if(s[i]!=' ')
j++;
if(s[i]==' '&&s[i+1]!=' '&&i!=k-1)
j=0;
}
return j;
}
倒叙:
public class P58LengthOfLastWord {
public int lengthOfLastWord(String s) {
if(s == null || s.length() < 1) {
return 0;
}
int len = 0;
for(int i = s.length() - 1; i >= 0; i--) {
if(s.charAt(i) == ' ') {
if(len == 0) {
continue;
}
break;
}
len ++;
}
return len;
}
}