华为机试-001-简单-HJ1.字符串最后一个单词的长度


一、描述

  • 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

1.1、输入描述

  • 输入一行,代表要计算的字符串,非空,长度小于5000。

1.2、输出描述

  • 输出一个整数,表示输入字符串最后一个单词的长度。

二、示例

2.1、示例1

输入:hello nowcoder
输出:8
说明:最后一个单词为nowcoder,长度为8 

三、答案(java)

3.1、方法一:系统函数

package com.tzq.hwod;

import java.util.Scanner;

/**
 * HJ1 字符串最后一个单词的长度
 * 
 * @author tzq
 *
 */
public class hwod_001 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		String[] s = str.split(" "); // 正则表达式实用性更强( str.split("\\s+"))
		int length = s[s.length - 1].length();
		System.out.println(length);
	}
}

在这里插入图片描述

3.2、方法二:反过来打印

package com.tzq.hwod;

import java.util.Scanner;

/**
 * HJ1 字符串最后一个单词的长度
 * 
 * @author tzq
 *
 */
public class hwod_001 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		int length = str.length();
		int count = 0;
		for (int i = length - 1; i >= 0; i--) {
			if (str.charAt(i) == ' ') { // 或者 if (str.substring(i, i + 1).equals(" ")) {
				break;
			}
			count++;
		}
		System.out.println(count);
	}
}

在这里插入图片描述

3.3、方法三:lastIndexOf+substring

package com.tzq.hwod;

import java.util.Scanner;

/**
 * HJ1 字符串最后一个单词的长度
 * 
 * @author tzq
 *
 */
public class hwod_001 {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String str = s.nextLine();
		String deal = str.substring(str.lastIndexOf(" ") + 1);
		System.out.println(deal.length());
	}
}

在这里插入图片描述

四、答案(python 3)

4.1、方法一:split

hwod-001.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys

str = input()        # 输入字符串str
arr = str.split(" ") # 以空格分割字符串并将结果存入数组arr
n = len(arr) - 1     # 获取数组最后一个元素的索引
print(len(arr[n]))   # 打印最后一个元素arr[n]的长度即为最后一个单词的长度

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tzq@2018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值