LeetCode#58:最后一个单词的长度解析

给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明: 一个单词是指由字母组成,但不包含任何空格的字符串。

举例:

输入: "my name is Kristin"
输出: 7

      这个题一开始误解了题目的意思,以为最后一个字符是空格的话也要返回0。其实是不论任何情况都返回最后一个单词的长度。这样的话就比较好想了,设定一个计数器,然后遍历整个字符串,在遇到非空格的时候自加1,遇到空格时清零,这样就一直保存了空格前一个字符串的长度,但是遇到空格时要注意两点,如果这个空格是最后一个空格时不可以清零,如果有连续的空格,也就是下一个字符还是空格时,也不清零,直接跳过直到最后一个空格才清零。最后直接返回计数值

  js代码分析

           var inputStr = "my name is Kristin";
            var show =[];
            var count =0
            inputStr = inputStr.trim()
           // var checkStr = inputStr.replace(/s/g,'');
            for(let i=inputStr.length;i--;){
                count++;
                show.unshift(inputStr[i])
                if(inputStr[i] ==' '){
                    document.getElementById("wordSize").value=count-1//最后一个单词的长度
                    document.getElementById("wordShow").value=show.join("")//最后一个单词的内容
                    break;
                }
            }

       问题衍生:这个字符串最长的单词,最短的单词,单词只出现一次的字母,出现次数最多的字母等等;

      git上详细页面展示: https://github.com/Kristen-D/Algorithms/tree/master/leetCode

原文地址:https://www.cnblogs.com/donglt-5211/p/10101023.html