《剑指Offer》JavaScript实战
文章平均质量分 87
随风丶逆风
这个作者很懒,什么都没留下…
展开
-
《剑指Offer》JavaScript实战——二维数组中的查找
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题:function find(target, array){ /** 方法1 暴力枚举*/ for(let arr of array){ for(let j of arr){ ...原创 2018-05-28 17:27:38 · 1107 阅读 · 0 评论 -
《剑指Offer》JavaScript实战——替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题方法function replaceSpace(str){ /*方法1 replace的字符串替换,考察点不是这个*/ return str.replace(/ /g,'%20'); /*方法2 字...原创 2018-06-05 15:09:54 · 570 阅读 · 0 评论 -
《剑指Offer》JavaScript实战——从尾到头打印链表
题目描述 输入一个链表,从尾到头打印链表每个节点的值。解题方法/*function ListNode(x){ this.val = x; this.next = null;}*/function printListFromTailToHead(head){ // write code here /* 栈的思想,不过好像实现的比较畸形,哈哈 */ ...原创 2018-06-05 15:13:44 · 623 阅读 · 0 评论 -
《剑指Offer》JavaScript实战——重建二叉树
附上牛客网练习题连接,传送门题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题方法 思路就是利用递归,二叉树的前序遍历和中序遍历中确定根节点位置,假设有n个节点,在中序遍历左侧的值是左子树...原创 2018-06-06 14:22:47 · 546 阅读 · 0 评论 -
《剑指Offer》JavaScript实战——用两个栈实现队列
牛客网练习题传送门题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题方法let stack1=[],//两个数组模拟栈的行为 stack2=[];function push(node){ // write code here //栈是后入先出(LIFO),队列是先入先出(FIFO) //模拟队列的pu...原创 2018-06-06 15:28:36 · 1679 阅读 · 2 评论 -
《剑指Offer》JavaScript实战——斐波那契数列+跳台阶问题
牛客网练习题传送门题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39解题方法 方法一:普通递归,但是容易出现调用栈溢出问题,而且随着调用层数增加,速度会很慢。最明显的就是,牛客网上递归版跑不通。function Fibonacci(n){ /* 方法一 递归,但是容易出现调用栈溢出的情况*/ if(n<=0)...原创 2018-06-06 15:58:01 · 629 阅读 · 0 评论 -
《剑指Offer》JavaScript实战汇总
缘由找工作肯定离不开刷题,这其中都免不了刷《剑指offer》这本书,但是这本书的算法基于c的,所以自己采用js实现了上面的算法,这本书上的算法思路都有实现,同时部分题目额外实现了自己的一些想法。经过测试,都能通过牛客网上的OJ。由于之前电脑清理了一次,小部分代码遗失,后续慢慢补上。代码代码已放置到自己的github上:传送门目录3.1 找出数组中重复的数字3.2 不修改数组找出重复...原创 2018-11-17 16:51:32 · 1612 阅读 · 0 评论