思路
首先看到题目的示例是一段字符串,类似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)); } } }