题解 | #牛牛的名字游戏#
牛牛的名字游戏
https://www.nowcoder.com/practice/92320333267c482b8de09a9b56ef6d9d
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return int整型 */ public int lengthOfLastWord (String s) { // write code here // 去除字符串首尾的空格 s = s.trim(); // 从后往前遍历字符串,找到最后一个单词的结束位置 int endIndex = s.length() - 1; while (endIndex >= 0 && s.charAt(endIndex) != ' ') { endIndex--; } // 最后一个单词的长度为总长度减去最后一个单词的起始位置 return s.length() - 1 - endIndex; } }
Java语言
该题考察的主要知识点:
- 字符串的API
- 字符串遍历和索引操作
代码解释:
- 使用 trim() 方法去除字符串 s 的首尾空格,以便不受空格的影响。
- 初始化一个变量 endIndex,它将用来表示最后一个单词的结束位置。
- 从字符串末尾开始往前遍历,如果字符不是空格,则继续往前,直到找到第一个空格字符或者遍历到字符串的起始位置。这个过程将找到最后一个单词的结束位置。
- 最后一个单词的长度可以通过整个字符串的长度减去最后一个单词的起始位置来计算。