前两天盒马先生给我发了两道笔试题,贴出来自己的解法,欢迎各位大神指教。
- 实现一个decodeString函数,输入符合count[letter]规则的参数,能将letter的内容count次输出。其中,count是0或正整数,letter是区分大小写的纯字母。并正确通过下面的测试用例
function decodeString (str) {
// your code here
}
decodeString('5[ab]')// return 'ababababab'
decodeString('3[a]2[bc]')// return 'aaabcbc'
decodeString('2[abc]3[cd]ef') // return 'abcabccdcdcdef'
decodeString('3[a2[c]]') // return 'accaccacc'
我的代码实现:
//定义一个栈
function Stack(){
var items = [];
// 从栈顶添加元素,---压栈
this.push = function(item){
items.push(item)
}
//弹出栈顶元素
this.pop = function(){
return items.pop();
}
// 返回栈顶元素
this.top = function(){
return items[items.length-1];
}
// 判断栈是否为空
this.isEmpty = function(){
return items.length == 0;
}
// 返回栈的长度
this.size = function(){
return items.length;
}
// 清空栈
this.clear = function(){
items = [];
}
}
function