java简单算法:最后一个单词的长度
作者:互联网
问题
- 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
解决
// 将字符串划分为组成单词的小字符串
// 遇到空格就分
//返回最后一个单词长度
//反向遍历:利用倒序的方式进行查询
class Solution {
public int lengthOfLastWord(String s) {
int en=s.length()-1;
while(s.charAt(en)==' '){ //将符串移到最后一个单词的最后一个字母位置,注意,这里只能用'',不能用"",因为前者是字符,后者是字符串
en--;
}
int co=0;
while(en>=0&&s.charAt(en)!=' '){ //从最后一个字母开始计数,获得最后一个单词长度
co++;
en--;
}
return co;
}
}
//第二种(利用api),其实想法差不多
class Solution {
public int lengthOfLastWord(String s) {
s = s.trim(); //只去除"头尾"空白
return s.length() - s.lastIndexOf(" ") - 1; // lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
}
}
总结
标签:en,java,String,int,单词,算法,字符串,co 来源: https://www.cnblogs.com/zhangsanM/p/16438417.html