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 · 508 阅读 · 0 评论 -
leetcode javascript版 142. 环形链表 II
dsf原创 2018-12-19 17:49:32 · 759 阅读 · 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 · 593 阅读 · 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 · 274 阅读 · 0 评论 -
leetcode javascript版 232. 用栈实现队列
定义两个栈,一个做输入,一个做输出。 进队列,就进输入栈。 出队列,判断输出栈是否为空,如果为空,那么将输入栈全部依次压进输出栈,然后从输出栈弹出。如果不为空,直接从输出栈弹出。 /** * Initialize your data structure here. */ var MyQueue = function() { this.input = [] this.output...原创 2018-12-20 16:31:34 · 269 阅读 · 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 · 411 阅读 · 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 · 226 阅读 · 0 评论
分享