leetcode刷题937-9 | 58 Length of Last Word

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

猜你喜欢

转载自blog.csdn.net/dingkm666/article/details/84574505