58.最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

思路

如何定位到最后一个单词

  1. 从字符串最后一个元素开始遍历,等于空格则,指针减减,定位到最后一个单词的最有一个字母
  2. 改变判断条件,如果指针所指不等于空格,则指针减减。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.wereash.scut_hot100;

import java.util.Scanner;

/**
* @Author: WereAsh
* @Date:2026-01-14 22:03
**/
public class Solution058 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
String s=str.substring(1,str.length()-1);
int end=s.length()-1;
while(end>=0&&s.charAt(end)==' ') end--;
System.out.println("end:"+s.charAt(end));
int start=end;
while(start>=0&&s.charAt(start)!=' ') start--;
System.out.println("最后一个单词长度为:"+(end-start));
System.out.println("start:"+s.charAt(start));
System.out.println(s.substring(start+1,end+1));
}
}