
算法
山间有水
不想成为大佬的小菜鸟不是好菜鸟
展开
-
Leetcode中用Js实现Next Greater Element II
题目描述Given a circular array (the next element of the last element is the first element of the array), print the Next Greater Number for every element. The Next Greater Number of a number x is the fir...原创 2019-03-30 08:29:05 · 185 阅读 · 0 评论 -
【剑指offer】【JavaScript】链表中倒数第k个结点
描述输入一个链表,输出该链表中倒数第k个结点。思路创建两个指针,都指向头节点,让第一个指针先走k-1步,到达第k个结点,然后让第二个指针从头节点开始走(这时第一个指针和第二个指针相差k-1个节点),第一个节点继续走,当第一个节点到达末尾时(这时第一个指针和第二个指针相差k-1个节点),所以此时第二个节点所在的位置就是倒数第k个节点代码/*function ListNode(x){ ...原创 2019-06-13 19:51:01 · 574 阅读 · 0 评论 -
【剑指offer】【JavaScript】调整数组顺序使奇数位于偶数前面
描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。举个列子吧2 3 4 1 6 9 7输出之后就是3 1 9 7 2 4 6我的思路就是创建两个空数组分别放奇数和偶数,for循环原数组,将分辨出的奇数和偶数放在两个数组中,最后用concat 拼接一下代码fu...原创 2019-06-12 20:27:09 · 200 阅读 · 0 评论 -
【剑指offer】【js版】从尾到头打印链表
题目输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。思路1、利用栈来解决,先把链表的每一个节点都push在数组中,那么栈顶的元素即为第一个要输出的/*function ListNode(x){ this.val = x; this.next = null;}*/function printListFromTailToHead(head){ va...原创 2019-05-23 15:56:58 · 153 阅读 · 0 评论 -
【剑指offer】替换空格【JavaScript】
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。第一种解法:用正则表达式,function replaceSpace(str){ return str.replace(/\s/g,"%20")}刚开始写return str.replace(/\s...原创 2019-05-23 14:20:36 · 142 阅读 · 0 评论 -
【剑指offer】二维数组中的查找【JavaScript】
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。首先想到的第一个办法就是for循环function Find(target, array){ for(var i=0;i<array.length;i++){ ...原创 2019-05-22 16:52:36 · 172 阅读 · 0 评论 -
【剑指offer】【js】用两个栈实现一个队列
题目用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。就相当于这里的push是队列中的入列,pop是队列中的出列,那么主要的操作就是在pop中实现了,因为队列中的入列和入栈是一样的1、先构造一个Stack的构造函数;2、创建两个栈stack1, stack2 ,把stack2看作一个过渡的栈举例:将1,2,3,4,5,6依次入栈,存入stack1中即s...原创 2019-05-24 17:34:56 · 476 阅读 · 0 评论 -
【剑指offer】【js】重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。原创 2019-05-24 14:57:43 · 239 阅读 · 0 评论 -
【leetCode】【javascript】997. Find the Town Judge找到小镇的法官
题目描述:In a town, there areNpeople labelled from1toN. There is a rumor that one of these people is secretly the town judge.If thetown judge exists, then:The town judge trusts nobody. Every...原创 2019-04-29 10:28:29 · 374 阅读 · 0 评论 -
【LeetCode】【JavaScript】144. Binary Tree Preorder Traversal
题目描述:Given a binary tree, return thepreordertraversal of its nodes' values.Example:Input:[1,null,2,3] 1 \ 2 / 3Output:[1,2,3]翻译就是:给定一个二叉树,返回其节点值的先序遍历。复习一下树的几种遍历先序...原创 2019-04-26 15:21:23 · 210 阅读 · 0 评论 -
Leetcode中Minimum Add to Make Parentheses Valid用js实现
题目描述:Given a stringSof'('and')'parentheses, we add the minimum number of parentheses ('('or')', and in any positions ) so that the resulting parentheses string is valid.Formally, a parent...原创 2019-03-31 16:27:56 · 143 阅读 · 0 评论 -
【剑指offer】【JavaScript】栈的压入,弹出序列
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解析这道题用的是栈的思想,之前在leetcode上做过几道这样的题,由于没有经常复习...原创 2019-06-28 10:29:31 · 198 阅读 · 0 评论