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

链表中环的入口结点

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

最简单的解法

ListNode* EntryNodeOfLoop(ListNode* pHead) {
        const int INF = 10000;
        while(pHead){
            if(pHead->val > 10000){
                pHead->val = pHead->val - 10000;
                return pHead;
            }
            pHead->val = pHead->val + 10000;
            pHead = pHead->next;
        }
        return nullptr;
    }

按照题目的要求,节点的值1<=val<=10000, 因此每次遍历把这个值加10000,如果大于10000则说明回到了环入口; 空间复杂度O(1),时间复杂度O(n);

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:05
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:31
点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务