起因:
咋就又心血来潮写算法了呢?今天学长们来小组实习,有个学长给我们看了面试视频,看见了这一题,就想着自己尝试尝试,最后意识到自己还是太菜了。
代码:
public static ListNode detectCycle(ListNode head) {
// 我二话不说先给它来个List集合存列表节点
List<ListNode> list = new ArrayList<>();
// 再二话不说整个判空
if (head == null || head.next == null) {
return null;
}
for (Integer i = 0;head != null;head = head.next,i++) {
// 二话不说for循环看看该列表节点下个节点是否存在列表中
for (int j = 0; j < list.size(); j++) {
if (list.get(j) == head) {
return list.get(j);
}
}
// 添加列表中的元素继续循环
list.add(head);
}
return null;
}
执行结果:
就除了菜一无所有。