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

链表中环的入口结点

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行编译不通过
点赞 回复
分享
发布于 2021-10-20 17:36
联想
校招火热招聘中
官网直投
-1
点赞 回复
分享
发布于 2021-11-06 11:26
26行没用直接删除就行了
点赞 回复
分享
发布于 2022-02-01 23:14

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务