赞
踩
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1:
输入:s = “Hello World”
输出:5
示例 2:
输入:s = " fly me to the moon "
输出:4
示例 3:
输入:s = “luffy is still joyboy”
输出:6
提示:
1 <= s.length <= 104
s 仅有英文字母和空格 ’ ’ 组成
s 中至少存在一个单词
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
(1)反向遍历
先使用 trim() 方法去掉字符串 s 首尾的空格,定义变量 res 来保存最后一个单词的长度(初始值为0),然后再从字符串尾开始遍历,每遇到一个非空格的字符,res 就加一,当字符串遍历结束或者遇到空格时就立即退出循环,此时 res 的值即为最后一个单词的长度,将其返回即可。
(2)调用API
本题比较简单,可以直接调用 Java 字符串中已有的 API。
//思路1————反向遍历 class Solution { public int lengthOfLastWord(String s) { int res = 0; //去掉字符串s首尾的空格 s = s.trim(); //index指向最后一个单词的最后一个字母 int index = s.length() - 1; while (index >= 0 && s.charAt(index) != ' ') { //最后一个单词的长度加一 res++; //index往前移动一个单位长度 index--; } return res; } }
//思路2————调用API
class Solution {
public int lengthOfLastWord(String s) {
s = s.trim();
//lastIndexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引
return s.length() - s.lastIndexOf(" ") - 1;
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。