最后一个单词的长度-要非常小心的一道水题

Posted 给我一个团队,干翻TX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最后一个单词的长度-要非常小心的一道水题相关的知识,希望对你有一定的参考价值。

题目是这样的:

给定由大写,小写字母和空格组成的字符串,返回 最后 一个单词的长度。

如果输入中不存在单词,返回 00。

注意:

“单词”是指不包含空格符号的字符串

例如:

对于字符串"hello World"(不带引号), 那么返回的结果是 55;

对于字符串"abc abc "(不带引号),那么返回的结果就是 33。

输入格式

输入仅一行,为字符串 ss(长度不超过 1000010000)。

输出格式

输出 ss 中最后一个单词的长度。

样例输入1

Today is a nice day

样例输出1

3

样例输入2

The quick brown fox jumps over the lazy dog   

样例输出2

3
思路:模拟吧
代码实现如下:

package cn.longlong.com;

import java.util.Scanner;

public class Main
{
public static String cc;
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
cc = cin.nextLine();
int cnt = 0;
int j = 0;
for(int i = j ; i >= 0 ; i--)
{
if(cc.charAt(i) == ‘ ‘)
{
break;
}
else
{
cnt++;
}
}
System.out.print(cnt);
}
}

对了四个测试点,最后一个测试点,找了很久都没有找到。

最后看了看博客,最后一个测试点是:啥也不输入的时候,会出现的情况。

代码如下:

package cn.longlong.com;

import java.util.Scanner;

public class Main
{
public static String cc;
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
cc = cin.nextLine();
int cnt = 0;
int j = 0;
for(int i = cc.length()-1 ; i >= 0 ; i--)
{
if(cc.charAt(i) != ‘ ‘)
{
j = i;
break;
}
}
for(int i = j ; i >= 0 ; i--)
{
if(cc.charAt(i) == ‘ ‘)
{
break;
}
else
{
cnt++;
}
}
System.out.print(cnt);
}
}

注意找出两段代码之间的区别,然后慢慢领会。

以上是关于最后一个单词的长度-要非常小心的一道水题的主要内容,如果未能解决你的问题,请参考以下文章

hdu--1251 统计难题(字典树水题)

华为机试题 HJ1 字符串最后一个单词的长度

一道Python练习题引发的,一个知识点的探讨:删除列表中特定元素的几种方法

字符串最后一个单词的长度

计算字符串最后一个单词长度,单词以空格隔开

牛客网 HJ1 字符串最后一个单词的长度