0x00 引言
为获取一个良好的算法思维,以及不再成为一个脚本小子,争取每天一道算法题,培养自己的逻辑思维,温顾各类型语言语法知识。
题解只写自己理解的解法,其他解法不再增加。题目与解析均在代码里面。
0x01 难度等级
简单
0x02 代码
package 简单; import java.util.Scanner; /* 描述 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) 从后面往前计数,直到遇到第一个空格或者已经读取第一个字母 (对应字符串只有一个单词的情况)。 示例1 输入: hello nowcoder 输出: 8 说明: 最后一个单词为nowcoder,长度为8 */ public class 字符串最后一个单词的长度 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String a=sc.nextLine(); int count=0; for (int i = a.length()-1; i >= 0; i--) { if(a.charAt(i)==' '){ break; }else { count++; } } System.out.println(count); } }
0x03 算法思想
从最后一位开始读,直到字符为空就跳出if判断,否则就count+1统计字符个数,考查for循环的倒使用,以及charAt()方法的使用。