Home Tags Posts tagged with "细节"

细节

[et_pb_section admin_label=”section”]
[et_pb_row admin_label=”row”]
[et_pb_column type=”4_4″]
[et_pb_text admin_label=”Text”]
给定一个链表,判断链表中是否有环。

为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:true
解释:链表中有一个环,其尾部连接到第二个节点。

bool hasCycle(struct ListNode *head) {
    struct ListNode *arr[10000];//指针数组;
    struct ListNode *P=NULL;
    for(int i=0;i<10000;i++){
        arr[i]=NULL;
    }//指针数组初始化;
    int i=0;
    while(head!=NULL){
        arr[i]=head;
        head=head->next;
        i++;
    }//这一步错误,因为如果该链表为环状链表的话会无线循环下去;报错为索引超出范围;
    P=arr[i-1];
    for(i=0;i<10000;i++){
        if(arr[i]==NULL)break;
        if(arr[i]==P->next){
            return true;
        }
    }
    return false;
}

[/et_pb_text]
[/et_pb_column]
[/et_pb_row]
[/et_pb_section]