前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法-最后一个单词的长度

算法-最后一个单词的长度

作者头像
Fisherman渔夫
发布2019-07-31 14:48:34
4570
发布2019-07-31 14:48:34
举报
文章被收录于专栏:渔夫渔夫

版权声明: https://blog.csdn.net/li_xunhuan/article/details/90084492

题目描述: 给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。

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

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

示例:

输入: “Hello World” 输出: 5

代码语言:javascript
复制
代码1:
class Solution {
public int lengthOfLastWord(String s) {
    if(s==null||s.length()==0)
        return 0;
    String[] str=s.split(" ");
    if(str.length==0)
        return 0;
    return str[str.length-1].length();
}
}

注意事项: 1.以空间换时间,这是此代码的思想 2.注意split的用法,返回的是一个数组,而其中的元素是字符串 3.如果一个字符串由若干的空格,并且其没有字母表示,那么调用String的split()方法所返回的不是一个null,而是一个空数组. 4.

在这里插入图片描述
在这里插入图片描述

方法二:利用String内的charAt()方法,逻辑上是字符串最后开始找,没找到单词继续找,找到单词,开始记录单词长度,并且遇到的第一个空格停止循环。 此方法的关键就是将逻辑翻译为机器逻辑,跳出循环一定是要在之前有字符串的情况下才能执行,这逻辑就是count>0,机器语言是如此精炼,所以,在敲代码是首先考虑的是自己已经定义好的变量作为下面的逻辑判断变量,而不是先去想新构造一个变量

代码语言:javascript
复制
代码2:
class Solution {
public int lengthOfLastWord(String s) {
    if(s==null){
        return -1;
    }
    int length=s.length();
    int count =0;
    for(int i=length-1;i>=0;i--){
        if(s.charAt(i)!=' '){
            count++;
        }else{
            if(count>0)
                break;
        }

    }
    return count;  
}
}

方法3:利用String 类内的trim方法: 例子: String str = “ Life is fantastic! ”; 那么调用str.trim();后,其字符串就前后删除空格,中间空格保留。 返回值为“Life is fantastic! ”,但是原来的str字符串并没有变化 我们利用上面性质,很容易地进行处理,不需要考虑末尾可能存在的空格或连续空格了。

代码语言:javascript
复制
代码3:
 Solution {
public int lengthOfLastWord(String s) {
    if(s==null){
        return -1;
    }
    String s2=s.trim();
    int length=s2.length();
    int count =0;
    if(length==0){
        return 0;
    }
    for(int i=length-1;i>=0;i--){
        if(s2.charAt(i)!=' '){
            count++;
        }else{
                break;
        }

    }
    return count;  
}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年05月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档