码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-05-19 12:03:46      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:system.in   注意   ott   cal   代码   rip   row   模拟   输出   

题目是这样的:

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

如果输入中不存在单词,返回 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);
}
}

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

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

标签:system.in   注意   ott   cal   代码   rip   row   模拟   输出   

原文地址:https://www.cnblogs.com/674001396long/p/9059686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!