原题链接在这里:https://leetcode.com/problems/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
.
题解:
从最后一个char 开始往前扫,遇到第一个空格就时就走完了最后一个词。
不过要注意最后一个char 本身就是空格的情况,所以需要先把s trim()一下。
Time Complexity: O(s.length()).
Space: O(1).
AC Java:
1 public class Solution { 2 public int lengthOfLastWord(String s) { 3 if(s == null || s.length() == 0){ 4 return 0; 5 } 6 7 s = s.trim(); 8 int i = s.length()-1; 9 while(i>=0){ 10 if(s.charAt(i) == ' '){ 11 break; 12 }else{ 13 i--; 14 } 15 } 16 return s.length()-1-i; 17 } 18 }