在哪个网站可以学做淘宝详情,广州官方新闻,西安中风险地区,网站开发的基本流程图13. 罗马数字转整数
给你一个字符串 s#xff0c;由若干单词组成#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1#xff1a;
输入#xff1a;s “Hello World” 输出由若干单词组成单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1
输入s “Hello World” 输出5 解释最后一个单词是“World”长度为5。 示例 2
输入s fly me to the moon 输出4 解释最后一个单词是“moon”长度为4。 示例 3
输入s “luffy is still joyboy” 输出6 解释最后一个单词是长度为6的“joyboy”。
解题思路
目标计算给定字符串 s 中最后一个单词的长度。 步骤 1.初始化设置一个指针变量 index 初始指向字符串 s 的末尾即倒数第一个字符的位置。 移除尾部空格使用一个 while 循环检查当前 index 处的字符是否为空格。如果是就将 index 向左移动一位即减1直到找到非空格字符或者移动到字符串的起始位置为止。这样可以确保 index 能够指向最后一个单词的最后一个字符。 2.计算长度初始化一个变量 length 用来存储最后一个单词的长度然后再次使用一个 while 循环从当前的 index 开始每次检查字符如果不是空格则增加 length 的值并将 index 向左移动一位。这个过程会一直持续到遇到空格或者移动到字符串起始位置为止。 3.返回结果当计算完最后一个单词的长度后返回 length 作为结果。 4.总结起来整个算法就是通过从右向左遍历字符串首先找到最后一个单词的边界然后再计算这个单词的长度。
// 类定义Solution 提供了一个方法用于计算字符串中最后一个单词的长度
class Solution {// 方法签名计算并返回给定字符串 s 中最后一个单词的长度public int lengthOfLastWord(String s) {// 初始化索引变量 index 为字符串 s 的倒数第一个字符的位置int index s.length() - 1;// 遍历字符串从后往前跳过结尾的空格字符while (s.charAt(index) ) {index--;}// 初始化长度变量 length 用于存储最后一个单词的长度int length 0;// 从当前非空格字符开始向前遍历直至遇到空格或到达字符串起始位置while (index 0 s.charAt(index) ! ) {// 每遇到一个非空格字符length 增加1length;index--;}// 返回计算出的最后一个单词的长度return length;}
}