思路

首先看到题目的示例是一段字符串,类似Hello World。根据正常的思维我们应该是找到最后一个空格,然后记录这个空格的位置,从这个位置开始向后,检查子字符串的长度。

我的解法是首先将这个字符串变成一个char数组,然后倒序遍历这个数组,一旦遇到空格这个字符,就立刻跳出循环。每次循环的时候计数器加1,跳出的时候,计数器就是最后一个字符串的长度。

代码

import java.util.Scanner;

public class Main {

    public int convert(String str) {
        char[] chars = str.toCharArray();
        int length = 0;
        for (int i = chars.length - 1; i >= 0; i--) {
            if (chars[i] == ' ') {
                break;
            }
            length++;
        }
        return length;
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Main main = new Main();
        while (in.hasNext()) {
            String str = in.nextLine();
            System.out.println(main.convert(str));
        }
    }
}