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.
首先检查s是否为空,如果为空直接返回0。如果不为空, 将s装换为一个字符数组,然后从后往前遍历字符数组,如果是空字符就继续执行,直到遇到第一个不为空的字符,用count记录,如果再遇到空的字符,这时就终止程序,返回count的值。其中要注意数组的边界,在记录count值得时候不要越界。代码如下:
public class Solution { public int lengthOfLastWord(String s) { if(s == null || s.length() == 0) return 0; char[] c = s.toCharArray(); int count = 0; int flag = 1; for(int i = c.length - 1; i >= 0; i--) { if(flag == 0) break; if(c[i] == ' ') continue; while(i >= 0 && c[i] != ' ') { count ++; i --; } flag = 0; } return count; } }