LeetCode

题目:

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.

思路:

从后面开始找

package string;

public class LengthOfLastWord {

    public int lengthOfLastWord(String s) {
        int n = 0;
        if (s == null || (n = s.length()) == 0) return 0;
        int postSpaceIndex = -1;
        for (int i = n - 1; i >= 0; --i) {
            if (s.charAt(i) != ' ') {
                postSpaceIndex = i;
                break;
            }
        }
        
        int count = 0;
        for (int i = postSpaceIndex; i >= 0; --i) {
            if (s.charAt(i) != ' ')
                ++count;
            else
                break;
        }
        
        return count;
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s = "Hello world  ";
        LengthOfLastWord l = new LengthOfLastWord();
        System.out.println(l.lengthOfLastWord(s));
    }

}
原文地址:https://www.cnblogs.com/null00/p/5079835.html