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.
首先检查s是否为空,如果为空直接返回0。如果不为空, 将s装换为一个字符数组,然后从后往前遍历字符数组,如果是空字符就继续执行,直到遇到第一个不为空的字符,用count记录,如果再遇到空的字符,这时就终止程序,返回count的值。其中要注意数组的边界,在记录count值得时候不要越界。代码如下:
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;
}
}