题目:(对自己来说,相对也是较为简单的一题)
给你一个字符串 s
,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
关键提醒:没有标点符号 只有单词和空格构成
1,代码
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function(s) {
let end = s.length - 1;
while(end >= 0 && s[end] == ' ') end--;
if(end < 0) return 0;
let start = end;
//注意:start >= 0 遍历到字符串的起始位置 是必要的条件之一 并不是控制字符串非空
while(start >= 0 && s[start] != ' ') start--;
return end - start;
};
2,学习与总结
2.1思想
- 反向遍历
- 单词+空格=>想到要处理掉末尾是空格的情况
- 字符串基础函数 s.length求长度 利用下标,和数组相似
2.2反思后的注意点
while(start >= 0 && s[start] != ' ') start--;
start >= 0 遍历到字符串的起始位置 是必要的条件之一 并不是控制字符串非空
告诫自己:贵在坚持!