![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetCode刷题记录
coder月牙
写代码的艺术家
展开
-
leetcode javascript版 141. 环形链表
以下实现语言是JavaScript目录方法一:利用空间方法二:快慢指针方法一:利用空间遍历链表,对于每个节点对象,新增属性isVisited = true。同时每次遍历判断下一个节点是否拥有isVisited属性,如果有就是有环的。时间复杂度O(n)空间复杂度O(n)var hasCycle = function(head) { var curr = head; while(c...原创 2018-12-19 17:26:01 · 378 阅读 · 0 评论 -
leetcode javascript版 142. 环形链表 II
dsf原创 2018-12-19 17:49:32 · 584 阅读 · 1 评论 -
leetcode javascript版 25. k个一组翻转链表
暂时没有想到好方案,就用遍历链表写了一个。var reverseKGroup = function(head, k) { var prev = null; var curr = head; var p1 = null; var p2 = null; while(curr !== null) { for(var i = 0; i <...原创 2018-12-19 20:51:30 · 498 阅读 · 0 评论 -
leetcode javascript版 20. 有效的括号
使用栈时间复杂度:O(n)空间复杂度:O(n)var isValid = function(s) { var stackArr = []; var mapObj = { &quot;)&quot;: &quot;(&quot;, &quot;}&quot;: &quot;{&quot;, &quot;]&原创 2018-12-20 11:23:24 · 208 阅读 · 0 评论 -
leetcode javascript版 232. 用栈实现队列
定义两个栈,一个做输入,一个做输出。进队列,就进输入栈。出队列,判断输出栈是否为空,如果为空,那么将输入栈全部依次压进输出栈,然后从输出栈弹出。如果不为空,直接从输出栈弹出。/** * Initialize your data structure here. */var MyQueue = function() { this.input = [] this.output...原创 2018-12-20 16:31:34 · 190 阅读 · 0 评论 -
leetcode javascript版 225. 用队列实现栈
定义一个队列。每次进栈,先把元素进队列,然后把前方的元素依次出队,再进队。保证每次进来的都在队列的最前端。每次出栈,直接从队列出队即可。/** * Initialize your data structure here. */var MyStack = function() { this.queue = [];};/** * Push element x onto st...原创 2018-12-20 19:19:39 · 307 阅读 · 0 评论 -
leetcode javascript版 1. 两数之和
定义一个对象,以数组的每个值为key。遍历数组,对于每个元素x,找target-x在不在对象中,若在,就找到了;若不在,就把x存到对象中。时间空间都是O(n)的。var twoSum = function(nums, target) { var mapObj = {}; for(var i = 0; i < nums.length; i++) { i...原创 2018-12-20 19:32:15 · 129 阅读 · 0 评论