中小企业网络营销论文,东莞网站seo推广优化,将wordpress页面保存为模板,网站织梦使用HashSet#xff0c;从头遍历链表并写入哈希表#xff0c;遍历每个元素找哈希表是否出现过#xff0c;如果出现过则存在环。 HashSet 基于 HashMap 来实现的#xff0c;是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的#xff0c;即不会记录… 使用HashSet从头遍历链表并写入哈希表遍历每个元素找哈希表是否出现过如果出现过则存在环。 HashSet 基于 HashMap 来实现的是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的即不会记录插入的顺序。 添加元素可以使用 add() 方法add方法的返回值类型是boolean所以如果返回值是null那么表示添加成功。
/*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/
public class Solution {public boolean hasCycle(ListNode head) {SetListNode storeSet new HashSetListNode(); while(head!null){if(!storeSet.add(head)){return true;}headhead.next;}return false;}
}双指针快慢指针如果快慢指针相遇则链表中存在环慢指针一次只移动一个节点快指针一次移动两个节点没想到
/*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/
public class Solution {public boolean hasCycle(ListNode head) {if(headnull){return false;}ListNode slowPtrhead,fastPtrhead;while(fastPtr.next!nullfastPtr.next.next!null){slowPtrslowPtr.next;fastPtrfastPtr.next.next;if(slowPtrfastPtr){return true;}}return false;}
}