zoukankan      html  css  js  c++  java
  • 最后一个单词的长度-要非常小心的一道水题

    题目是这样的:

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

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

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

  • 相关阅读:
    FreeRTOS学习目录
    ESP32随笔汇总
    FPGA开发随笔汇总
    manim在windows系统下安装
    16、频率域滤波
    15、频率域滤波基础——傅里叶变换计算及应用基础
    14、OpenCV实现图像的空间滤波——图像锐化及边缘检测
    13、OpenCV实现图像的空间滤波——图像平滑
    12、OpenCV实现图像的直方图处理
    生成预加载镜像以及设备树
  • 原文地址:https://www.cnblogs.com/674001396long/p/9059686.html
Copyright © 2011-2022 走看看