剑指offo记录
阅读原文时间:2023年07月10日阅读:2

一、二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

function Find(target, array)
{
// write code here
for(var i = 0; i < array.length; i++){
for(var j = 0; j < array[i].length; j++){
if(array[i][j] == target){
return true
}
}
}

}

上面内容没有啥好说的的,循环查看存不存在。

二、替换空格

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

function replaceSpace(str)
{
return str.replace(/\s/g,"%20")
}

上面内容是正则匹配全局匹配空格,替换为%20

三、从尾到头打印链表

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

function printListFromTailToHead(head)
{
var arr = [];
while(head){
arr.unshift(head.val)
head = head.next
}

return arr

}

上面的内容,创建一个数组,我们在判断这个链表是不是还存在,存在就往数组的前面添加内容。最后返回数组

四、用两个栈实现队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

var inStack = [],
outStack = [];
function push(node) {
inStack.push(node);
}
function pop() {
if (!outStack.length) {
while (inStack.length) {
outStack.push(inStack.pop());
}
}
return outStack.pop();
}

上面的内容我就不多说了,占时我也不是横清楚。