标签:en java String int 单词 算法 字符串 co
问题
- 给你一个字符串 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。