编程面试题在线训练平台:最后一个单词的长度

来源:互联网 发布:索尼z3日版解网络锁 编辑:程序博客网 时间:2024/06/06 04:43

题目地址:http://www.lintcode.com/zh-cn/problem/length-of-last-word/

最后一个单词的长度

给定一个字符串, 包含大小写字母、空格' ',请返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

样例

给定 s = "Hello World",返回 5

注意

一个单词的界定是,由字母组成,但不包含任何的空格。

具体代码如下:

package com.ak.demo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.regex.Matcher;import java.util.regex.Pattern;/** *  * @author ak * */public class LengthOfLastWord {public static void main(String[] args) {BufferedReader input = new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入一串字符串,并按回车结束!");try {String content = input.readLine();int len = lengthOfLastWord(content);System.out.println("最后一个单词的长度为:" + len);} catch (IOException e) {e.printStackTrace();}}/** * @param content 字符串的 * @return       字符串的长度 */public static int lengthOfLastWord(String content) {int len = 0;String regex = "^[a-zA-Z\\s]+$";//匹配是否全部都是字母和空格String endRegex = "^[a-zA-Z\\s]+\\s$";//匹配是否以空格结尾Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(content);if(matcher.find()){//如果匹配if(content.matches(endRegex)){//判断是否以空格结尾len = 0;}else{String[] str = content.split("\\s");//按照空格进行切割len =  str[str.length-1].length();//获取到长度}}return len;}}/** *         String str1=" abc ";        String str2=" a b c ";        if(str1.matches("^\\s+.*\\s+$")){//满足以空格开头以空格结尾的条件            str1="dd";//直接赋值为你想要替换字符串            System.out.println(str1);        }        if(str2.matches("^\\s+.*\\s+$")){//满足以空格开头以空格结尾的条件            str2="dd";//直接赋值为你想要替换字符串            System.out.println(str2);        }*/


0 0