每日一题---力扣算法题 142. 环形链表

起因:     咋就又心血来潮写算法了呢?今天学长们来小组实习,有个学长给我们看了面试视频,看见了这一题,就想着自己尝试尝试,最后意识到自己还是太菜了。 代码:

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;
    }

执行结果: 就除了菜一无所有。

经验分享 程序员 微信小程序 职场和发展