题目描述:
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
.
解题思路:
先定位到字符串从后往前数第一个不为空字符的位置,然后进行判断。
从第一个位置向后读取,每遇到空字符则将计数器清零,然后下次继续计数。
代码如下:
public class Solution { public int lengthOfLastWord(String s) { int curLen = 0, len = 0, end = -1; if(s == null || (len = s.length()) == 0) return 0; for(int i = len - 1; i >= 0; i--){ if(s.charAt(i) != ‘ ‘) { end = i; break; } } for(int i = 0; i <= end; i++){ if(s.charAt(i) != ‘ ‘) curLen++; else { curLen = 0; } } return curLen; } }
时间: 2024-10-13 23:15:01