58. Length of Last Word

一、题目

  1、审题

  

  2、分析

    给出一个字符串,其中的单词用空格字符间隔,求最后一个单词的长度。

二、解答

  1、思路:

    方法一、从前向后遍历,用一个初始值为0的变量 lastWordLen 记录长度,当出现空格时 lastWordLen = 0;最终返回 lastWordLen 即可。

        注意: 所给字符串首部和尾部可能都存在空格。

class Solution {
    public int lengthOfLastWord(String s) {
        s = s.trim();
        if(s.length() == 0)
            return 0;
        int lastWordLen = 0;
        for(char c: s.toCharArray()) {
            lastWordLen++;
            if(c == ' ')
                lastWordLen = 0;
        }
        
        return lastWordLen;
    }
}

  方法二、从后向前遍历,先去除末尾的空格,再记录非空格的字符个数,再次出现空格时结束记录字符个数。

public int lengthOfLastWord(String s) {
        
        int index = s.length() - 1;
        if(index < 0)
            return 0;
        while(index >= 0 && s.charAt(index) == ' ')
            index--;

        int lastWordLen = 0;
        while(index >= 0 && s.charAt(index) != ' '){
            lastWordLen++;
            index--;
        }
        return lastWordLen;
    }
原文地址:https://www.cnblogs.com/skillking/p/9660606.html