本文共 844 字,大约阅读时间需要 2 分钟。
给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。
单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
题目很容易理解,既然是返回字符串中最后一个单词的长度,那么从后向前遍历即可,注意分析几种情况就行:
因为单词之间都是yoga空格隔开的,所以只要从后向前遍历的时候遇到空格就停止,如果只有一个单词就遍历到头。
第二种情况是字符串末尾存在空格的情况,首先就是将空格顾虑掉,过滤掉之后再开始计数。
所以完整过程为先从后过滤掉空格找到单词尾部,再从尾部向前遍历,找到单词头部,最后两者相减,即为单词的长度
class Solution { public int lengthOfLastWord(String s) { //声明一个计数变量 int count = 0; //从末尾向前遍历 for (int i=s.length()-1; i>=0; i--){ //当遇到空格的情况 if (s.charAt(i)==' '){ //如果此时count=0,则是末尾遇到空格 if (count==0){ continue; }else{ //当遇到空格,此时count != 0,那么此时就是末尾单词遍历完了 break; } } count++; } return count; }}
转载地址:http://ylgki.baihongyu.com/