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

发布于:2023-10-25 ⋅ 阅读:(91) ⋅ 点赞:(0)


一、描述

  • 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于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]的长度即为最后一个单词的长度

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看