剑指offo记录

Posted chenyudi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offo记录相关的知识,希望对你有一定的参考价值。

一、二维数组中的查找

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

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();
}

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

 

以上是关于剑指offo记录的主要内容,如果未能解决你的问题,请参考以下文章

每日刷题记录

每日刷题记录 (十三)

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段

剑指 offer 刷题记录

CSP核心代码片段记录

记录C#常用的代码片段