『力扣每日一题07』字符串最后一个单词的长度

气死我啦,今天这道题花了快一个小时,我学完了答案的解法,放上去在线 OJ ,一直报错,找来找去都找不到自己错在哪,明明跟答案一模一样。后来还是学了另一种解法,才跑出来的(°̥̥̥̥̥̥̥̥o°̥̥̥̥̥̥̥̥)
 

后来我对比了两种写法,复盘了一下,应该是第一种解法定义了太多变量了,我在使用的时候不小心用错了变量导致的。接下来还需要更细心!

一、题目

描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

示例1

输入:

hello nowcoder

输出:

8

说明:

最后一个单词为nowcoder,长度为8   

二、思路解析

首先我们要做的就是循环输入,这个属于基础知识,在此不做赘述。

我们的主要目的是先找到最后一个空格,要用到的函数是: laseIndexOf ,把它 +1 就是空格后面第一个单词的第一个字母了,我们从这里开始,一直截取到末尾。

接着打印最后一个单词的长度,这个也是加上 .length( ) 即可。

总体来说,题目还是比较简单的,当然对我这种小白来说,还是写不出来。

不过没事,知行合一,需在事上练,方有所长进,一位老师曾告诫我的话,我一直铭记在心。知道错哪,比盲目努力更重要!

三、完整代码

import java.util.Scanner;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    while(sc.hasNext()){
      String s = sc.nextLine();
      int len = s.substring(s.lastIndexOf(' ')+1, s.length()).length();
      System.out.println(len);
   }
    sc.close();
 }
}

以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!

你可能感兴趣的:(力扣每日一题,leetcode,算法,职场和发展,数据结构,java,idea,intellij-idea)