[Leetcode] 58. 最后一个单词的长度

2018-09-02 09:27:29 +08:00
 Acceml

题目

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

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

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

示例:

输入: "Hello World"
输出: 5

题解

这个题比较水,主要是注意一下前后有空格这种情况。 如下代码用 preLong 记录截止到当前字符最后一个单词的长度.

class Solution {
    public int lengthOfLastWord(String s) {
        if (s.length() == 0 || s == null) return 0;
        
        int slong = 0;
        int preLong = 0;  // 记录最后一个 word 的长度
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ' ) {
                slong = 0;
            } else {
                slong++;  
                preLong = slong;
            }
        }
        
        return preLong;
    }
}

每日英语

热门阅读


最近在刷题,主要更新后端相关知识

4096 次点击
所在节点    推广
31 条回复
TtiGeR
2018-09-02 13:56:53 +08:00
都在吐槽算法 那我就吐槽个单词吧

像 identify 这种词 光光记为“确认”是很容易混淆用法的

这个词和 confirm, verify, validate, recognize 在不同情况下的用法要注意异同之处~ 还是建议用英英词典的释义。
ranleng
2018-09-02 14:18:37 +08:00
( identify 更像是识别出来出什么东西.
Acceml
2018-09-02 14:54:52 +08:00
@fyyz 感谢~~

@MSilen
@ffkjjj 确实写得有问题。感谢。

@fyyz 慢慢会成长的呀,就记录一下题解,丢人也还好。


@TtiGeR 嗯。记单词确实要放在句子中,不过由于篇幅有限,我这个号也不打算做成英语的号,只是希望不要忘记英语,能通顺的读技术文档。
Acceml
2018-09-02 15:05:20 +08:00
感谢大家回复。
这道题就是因为太简单,所以昨天我就没 A,直接找的网上的 code,没想到那么多问题,为自己不认真检讨下。
顺便,很喜欢 v 站的氛围,大家都很认真。
LGA1150
2018-09-02 15:28:49 +08:00
class Solution {
public int lengthOfLastWord(String s) {
int len = 0, tail = s.length() - 1;
while (tail >= 0 && s.charAt(tail) == ' ') tail--;
while (tail >= 0 && s.charAt(tail) != ' ') {
len++;
tail--;
}
return len;
}
};

运行时间 3ms
回复吞缩进,将就看吧
LGA1150
2018-09-02 15:29:23 +08:00
@ffkjjj
@MSilen
po 主贴的 Java 代码
gzlock
2018-09-02 16:29:20 +08:00
@LGA1150 #26 if (s.length() == 0 || s == null) 与 名企之路 这个人设已经崩了,这个号算是臭了。。。
CheaperCoder
2018-09-02 17:09:39 +08:00
作为一个“名企之路”的号,分享这种代码,不觉得是自己的问题吗?也难怪大家怼你了。
NickCarter
2018-09-02 17:35:16 +08:00
```js

const lengthOfLastWord = function (s) {
if(/^ *$/.test(s)) {
return 0
}
return s.match(/ *([A-z]+) *$/)[1].length
}

```
ayyll
2018-09-03 09:04:08 +08:00
好多怼楼主
1.说两句 解题报告这种东西,说白了,写一遍容易让自己思路更清晰,但超级费时间 写一遍的时间够 A 好几道题了 emm
2.水题适可而止吧。。。如果真打算在算法上有建树的话 高级数据结构,数论,图论,计算几何,以及零零碎碎的 dp 什么的 按专题一路扫过去
3.如果只是应付一般性的面试的话,当我没说
Acceml
2018-09-03 09:27:52 +08:00
@ayyll 点开看了下,你搞 ACM,这块知识确实很厉害。不过我开这个号就是为了强迫总结自己的知识。但是总结的东西不可能每天都发,不发的时候我就 A 一道题。这是之前的内容: https://tanronggui.xyz/t/485438#reply7

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/485309

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX