123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 'use strict'
- /**
- * Definition for singly-linked list.
- * function ListNode(val) {
- * this.val = val;
- * this.next = null;
- * }
- */
- function ListNode(val) {
- this.val = val
- this.next = null
- }
- /**
- * @param {ListNode} head
- * @return {boolean}
- */
- var hasCycle = function (head) {
- if (head === null || head.next === null) return false
- let set = new Set()
- let curr = head
- set.add(curr)
- curr = curr.next
- for (;;) {
- if (curr === null) return false
- if (set.has(curr)) return true
- set.add(curr)
- curr = curr.next
- }
- }
- function __main__() {
- let n13 = new ListNode(3)
- let n12 = new ListNode(3)
- let n1 = new ListNode(1)
- n1.next = n12
- n12.next = n13
- let n23 = new ListNode(3)
- let n22 = new ListNode(3)
- let n2 = new ListNode(1)
- n23.next = n2
- n2.next = n22
- n22.next = n23
- /*eslint no-console: ["error", { allow: ["log"] }] */
- console.log(hasCycle(n1))
- console.log(hasCycle(n2))
- }
- __main__()
|