zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Chelsio T520 T420安装iSER
    Chelsio T520 T420开启RDMA-NFS
    Chelsio T520 T420开启RDMA(服务器&&客户端)
    [JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目
    android EditText中inputType的属性列表
    JavaSwing标准对话框
    Android反编译与防止反编译
    spinner的使用
    Content Provider基础
    字体颜色添加阴影效果
  • 原文地址:https://www.cnblogs.com/donglt-5211/p/10101023.html
Copyright © 2011-2022 走看看