题目

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

Example:

  1. Input: "Hello World"
  2. Output: 5

题意

输出给定字符串最后一个单词的长度。

思路

从后往前数。


代码实现

Java

  1. class Solution {
  2. public int lengthOfLastWord(String s) {
  3. int count = 0;
  4. int i = s.length() - 1;
  5. // 先去空格
  6. while (i >= 0 && s.charAt(i) == ' ') {
  7. i--;
  8. }
  9. while (i >= 0 && s.charAt(i) != ' ') {
  10. count++;
  11. i--;
  12. }
  13. return count;
  14. }
  15. }

JavaScript

Api

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLastWord = function (s) {
  let arr = s.trim().split(' ')
  return arr[arr.length - 1].length
}

迭代

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLastWord = function (s) {
  let i = s.length - 1
  let count = 0
  while (i >= 0 && s[i] === ' ') {
    i--
  }
  while (i >= 0 && s[i] !== ' ') {
    count++
    i--
  }
  return count
}