javascript版剑指Offer
bukaopuer
这个作者很懒,什么都没留下…
展开
-
01-二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 题目分析 第一反应就是暴力,结果AC了~但是递增序列这个条件没有用到。先上个暴力的代码 //暴力 function Find(target, array) { // write...原创 2019-09-27 14:03:55 · 86 阅读 · 0 评论 -
02-替换空格
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 分析 简单的字符串替换,直接使用str.replace函数,第一个参数使用正则表达式全局匹配即可 function replaceSpace(str) { return str.replace(/ /g,'%20'...原创 2019-09-27 21:55:18 · 58 阅读 · 0 评论 -
03-从尾到头打印链表
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 分析 这题也使用unshift方法就可以直接AC function printListFromTailToHead(head) { // write code here let ArrayList = [] let p = head while(p!== null) { ...原创 2019-09-27 22:03:43 · 68 阅读 · 0 评论 -
04重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 知识点不难,先根中根创建数。主要就是对两个数组进行划分 找的左右子树。文中 p1是先序的左子树 p2是先序的又子树 v1是中序的左子树 v2是中序的右...原创 2019-10-09 09:32:42 · 76 阅读 · 0 评论 -
05用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 这题投机不用的栈也可以ac~(js中用数组做栈),但是根据题目意思,还是用两个吧。 第一个栈存数据,要取的时候借助第二个栈反转一下再取出来就好 let stack1=[], stack2=[] function push(node) { // write code here stac...原创 2019-10-09 10:21:28 · 85 阅读 · 0 评论