JavaScript实现LeetCode第58题:最后一个单词的长度

题目描述:

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

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

示例 :

输入: "Hello World"
输出: 5
输入: " abc "
输出: 3

 方法分析:

题目要求的是返回一串字符串中最后一个单词的长度。而且题目给定的仅包含大小写字母和空格 ' ' 的字符串,这样一来,问题就比较简单了。首先,在本题中单词的定义是"由字母组成,但不包含任何空格的字符串";也就是说,单词与单词之间是通过空格分隔的。而且还需要注意到,在字符串开头和末尾的空格不算作单词,所以我们先要把首尾空格格式化。简而言之,就是把字符串的首尾空格去掉,然后分隔成数组,最后返回数组的最后一个元素的长度,就得到了原字符串中最后一个单词的长度。

代码实现:

var lengthOfLastWord = function(s) {
  //先格式化空格,再通过空格分割字符串为数组
  var s2Arr =  s.trim().split(" ");
  //返回数组中的最后一个元素的长度
  return s2Arr[s2Arr.length - 1].length;
};

代码解析:

这段代码呢,很简单。其中的命名 s2Arr 是 “string to array” 的意思,在定义类型转换变量的时候,经常这样命名。数组的 split 方法,其可以接受一个 separator 作为分隔符,其它的没什么需要解释的。

相关链接:https://leetcode-cn.com/problems/length-of-last-word/description/

猜你喜欢

转载自blog.csdn.net/qq_30216191/article/details/81461742