第二期leetcode问题与答案
这两天刷的两道leetcode题。
报数
报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:
- 1
- 11
- 21
- 1211
- 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
};
转载请注明出处。