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
.
========
Analysis:
Utilize .split to find out the last word, then return the length of the last word.
public class Solution {
public int lengthOfLastWord(String s) {
String[] array = s.split(" ");
if (array.length == 0) return 0;
String last = array[array.length-1];
return last.length();
}
}
Dont utilize any build-in method, we can
1. Find out the first nun-space character from the right most element of the array. (deal with the case like "abc def ")
2. (Based on 1.) Length++ until the first space reached or 1st element of the array reached
public class Solution {
public int lengthOfLastWord(String s) {
if(s.length() == 0) return 0;
int length = 0;
int i=s.length()-1;
while(i>=0&&s.charAt(i) == ' ') i--; // find out last character of last word
while(i>=0&&s.charAt(i) != ' ') {
i--;
length++;
}
return length;
}
}