美文网首页
string类算法题回顾

string类算法题回顾

作者: L栩栩 | 来源:发表于2019-02-26 12:18 被阅读0次

    #leetcode58

    • 首先要审题,是求最后一个单词的length,而不是最长的单词的length。

    • string的最后可能会有空格,所以要用String的trim()方法去头去尾。

      一个想法是再用String的split(" ")方法,再求最后一个单词的长度。缺点是空间开销大,时间也不见得快。
      看到一个一行的方法是用了减法和String的indexOf(),空间和时间开销都不大。

        public int lengthOfLastWord(String s) {
          return s.trim().length()-s.trim().lastIndexOf(" ")-1;
        }
    

    #leetcode387

    • 因为字母个数有限,可以考虑用长度为26的数组记录每个字符出现的频率。
    • 注意 java里char 'a' 对应的int97

    下面是英文字母的char和int互相转化。

      char t = (char)(i + 97);    //其中i是英文字母顺序,如a是0,c是2.
      int i = t - 'a';                   //其中t是字母的char形式,如'a','b'等.
    

    相关文章

      网友评论

          本文标题:string类算法题回顾

          本文链接:https://www.haomeiwen.com/subject/erhayqtx.html