题目:力扣https://leetcode-cn.com/problems/length-of-last-word/
class Solution {
public int lengthOfLastWord(String s) {
char[] sentence = s.toCharArray();
int count = 0;
int i = sentence.length-1;
while(sentence[i]==' '){
i--;
}
while(i>=0 && sentence[i]!=' '){
count++;
i--;
}
return count;
}
}
思路:这是道简单题,思路也很清晰。先把字符串s转化成char类型数组sentence,然后从后往前遍历,跳过最后一个单词后的空格,用count记录单词的长度,直到再一次遇到空格或者i已经遍历到尽头为止。 最后返回count的值。
1.准备阶段。将字符串转换成字符类型数组;声明count用于记录单词长度;i为遍历时的下标,因为从后往前遍历,所以下标默认值为数组长度减一。
char[] sentence = s.toCharArray();
int count = 0;
int i = sentence.length-1;
2.跳过最后一个单词后的空格。如果当前位置是空格,则让i往前移动,跳过这些空格。
while(sentence[i]==' '){
i--;
}
3.计算最后一个单词的长度。当i合法,且当前位置不是空格时,则用count记录下来,并将i往前移动,直到遇到空格或者i不合法时跳出循环。
while(i>=0 && sentence[i]!=' '){
count++;
i--;
}
4.返回count的值。
return count;