58.最后一个单词的长度
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
思路
如何定位到最后一个单词
- 从字符串最后一个元素开始遍历,等于空格则,指针减减,定位到最后一个单词的最有一个字母
- 改变判断条件,如果指针所指不等于空格,则指针减减。
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;
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)); } }
|