美文网首页
链表之-环形链表

链表之-环形链表

作者: 美雨知春 | 来源:发表于2020-10-11 17:30 被阅读0次

    在链表中如果有环,则很难遍历结束,最后超时,如果能够判断是否是环形链表,则简单很多
    给定一个链表,判断链表中是否有环。

    如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。

    如果链表中存在环,则返回 true 。 否则,返回 false 。

    链接:https://leetcode-cn.com/problems/linked-list-cycle

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        bool hasCycle(ListNode *head) {
            ListNode * head2 =head;
            while (head && head->next &&head2 &&head2->next)
            {
                head = head->next;
                head2 =head2->next;
    
                head2 = head2->next;
                if(head ==head2)
                {
                    return true;
                }
            }
            return false;
            
        }
    };
    

    相关文章

      网友评论

          本文标题:链表之-环形链表

          本文链接:https://www.haomeiwen.com/subject/savepktx.html