第二期leetcode问题与答案

这两天刷的两道leetcode题。


报数

报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:

  1. 1
  2. 11
  3. 21
  4. 1211
  5. 111221
    • 1 被读作 “one 1” (“一个一”) , 即 11。
    • 11 被读作 “two 1s” (“两个一”), 即 21。
    • 21 被读作 “one 2”, “one 1” (”一个二” , “一个一”) , 即 1211。

给定一个正整数 n(1 ≤ n ≤ 30),输出报数序列的第 n 项。

注意:整数顺序将表示为一个字符串。

var countAndSay = function(n) {
 var startStr = '1'
 for (var i = 1; i < n; i++) {
     var r = 1
     var str = ''
     for(var j=0;j<startStr.length;j++){
         if(startStr[j] == startStr[j+1]){
             r++
         }else{
             str += r+startStr[j]
             r=1
         }
     }
     startStr = str
     
 }
    return startStr    
};

最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ““。

var longestCommonPrefix = function(strs) {
    var a = ''
    if(strs.length>0){
       for(var i=0;i<strs[0].length;i++){
            for(var j=1;j<strs.length;j++){
                if(strs[j][i] !== strs[0][i]){
                return a
                } 
            }
                a+=strs[0][i]
        } 
    }
    
    return a
    
};

转载请注明出处。

Oriel Yan

Oriel Yan

lazy~