1, 题目

给定一个仅包含大小写字母和空格 ‘ ‘ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。
如果不存在最后一个单词,请返回 0 。

说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。

示例:

  1. 输入: "Hello World"
  2. 输出: 5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2, 算法

  1. #scala
  2. object Solution {
  3. def lengthOfLastWord(s: String): Int = {
  4. var i = s.length - 1
  5. var count = 0
  6. while (i >= 0 && !s(i).isLetter) {
  7. i -= 1
  8. }
  9. while (i >= 0 && s(i).isLetter) {
  10. count += 1
  11. i -= 1
  12. }
  13. count
  14. }
  15. }
  1. #python
  2. class Solution:
  3. def lengthOfLastWord(self, s: str) -> int:
  4. i = len(s) - 1
  5. count = 0
  6. while i >= 0 and not s[i].isalnum():
  7. i -= 1
  8. while i >= 0 and s[i].isalnum():
  9. count += 1
  10. i -= 1
  11. return count