不知道这题坑了多少人
用C和C++一遍过,java死都过不了。
当根据第4组数据判题时:
我们发现您的程序 <没有输出> 或者 <输入格式不正确>
蛋疼。
给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。
如果不存在最后一个单词,返回0
注意:
“单词”是指不包含空格符号的字符串
例如:
s = “hello World”, 那么返回的结果是5
格式:
第一行输入字符串s,然后输出s中最后一个单词的长度。
样例输入
Today is a nice day
样例输出
3
#include <stdio.h>
#include <string.h>
int main()
{
char s[10000];
int count = 0,i,c;
gets(s);
for(i = strlen(s)-1;i > 0;i--)
{
if(s[i] != ' ') //从后往前看,当最后一个不是空格的时候开始计数
count++;
if(count > 0) //当count计数时所在位置的单词已经是最后一个了,在出现空格时表示结束
if(s[i] == ' ')
break;
}
printf("%d\n",count);
return 0;
}
import java.util.Scanner;
public class Main {
public static int lengthOfLastWord(String s) {
if(s.trim().equals("")|| s.length() == 0){
return 0;
}
String[] ss = s.trim().split(" ");
int len = ss.length;
return ss[len - 1].length();
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s =in.nextLine();
System.out.println(lengthOfLastWord(s));
}
}