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


    题目是这样的:

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

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

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

  • 相关阅读:
    MySQL
    Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
    ps
    top
    sed
    nav响应范围一定要足够宽
    续上获取input的checked用prop时返回的是布尔值
    jq不应该用attr获取input的check值
    jq祖级元素
    一些jquery的坑
  • 原文地址:https://www.cnblogs.com/674001396long/p/9059686.html
Copyright © 2020-2023  润新知