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

链表中环的入口结点

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

全部评论

相关推荐

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