题目:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
我的解法:
不存在空格,返回长度n。
存在空格:从后往前遍历,先找到第一个字母的索引a=i。
然后,从该位置再向前遍历,找到第一个空格的索引j,返回a-j。如果找不到另返回值:a+1。
class Solution {
public int lengthOfLastWord(String s) {
char[]array=s.toCharArray();
int n=array.length;
for(int i=n-1;i>=0;i--){
if(array[i]!=' '){
int a=i;
for(int j=a-1;j>=0;j--){
if(array[j]==' ')return a-j;
}return a+1;
}
}
return n;
}
}
使用spilt函数
以“ ”为界分割字符串
Tip1:
class Solution {
public int lengthOfLastWord(String s) {
String[] array = s.split(" ");
return array[array.length-1].length();
}
}
Tip2:
s.trim()去掉字符串中首尾的空格
class Solution {
public int lengthOfLastWord(String s) {
s = s.trim();
return s.length() - s.lastIndexOf(" ") - 1;
}
}