华为机试-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]的长度即为最后一个单词的长度