题解 | #链表中环的入口结点#

链表中环的入口结点

http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4

老套路了,用hashmap做遍历的判定,对于这类问题真的好用,屡试不爽
思路:这里用hashmap存放对应节点和出现次数,一旦第一次出现次数为2,直接返回当前节点

/*
 public class ListNode {
    int val;
    ListNode next = null;
    ListNode(int val) {
        this.val = val;
    }
}
*/
import java.util.*;
public class Solution {
    //开一个map记载节点和出现次数
    HashMap res=new HashMap();
    public ListNode EntryNodeOfLoop(ListNode pHead) {
        if(pHead==null){
            return null;
        }
        else{
            //如果当前节点第一次出现,则加入map,次数更新为1
            if(res.get(pHead)==null){
                res.put(pHead,1);
                return EntryNodeOfLoop(pHead.next);
            }
            //如果当前节点不是第一次出现,直接返回当前节点
            else{
                res.put(pHead,res.get(pHead)+1);
                return pHead;
            }
        }
    }
}
全部评论
别人要求空间复杂度是O(1)..
点赞 回复 分享
发布于 2022-04-07 08:55
26行没用直接删除就行了
点赞 回复 分享
发布于 2022-02-01 23:14
-1
点赞 回复 分享
发布于 2021-11-06 11:26
26行编译不通过
点赞 回复 分享
发布于 2021-10-20 17:36

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-18 14:29
牛客604067584号:感觉算法卷的人少很多,毕竟只有一部分bg还不错的硕士才会考虑算法,虽然hc不如后端,但是竞争真的少很多。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务