Question:
Given a stringSConsists 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,
GivenS="Hello World"
,
Return5
.
Ideas:
Start from the end
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)); }}
Leetcode-length of last word