牛牛是一只非常聪明的小牛,它喜欢探索世界。在一次冒险旅程中,牛牛发现了一个神奇的链表,这个链表中的每个节点都包含一个指向下一节点的指针(next),但是不幸的是,这个链表有可能存在环。不仅如此,这个环中的每个节点还有一个特殊的值,该值具有唯一性。牛牛想知道这个链表中是否存在环,如果存在,环中所有节点的值的最大公约数(GCD)是多少? 请你帮助牛牛实现一个函数,这个函数接收一个链表的头节点,返回这个链表的环中所有节点的值的最大公约数。如果链表中不存在环,则返回-1。

区块链毕设网qklbishe.com为您提供问题的解答

牛牛是一只非常聪明的小牛,它喜欢探索世界。在一次冒险旅程中,牛牛发现了一个神奇的链表,这个链表中的每个节点都包含一个指向下一节点的指针(next),但是不幸的是,这个链表有可能存在环。不仅如此,这个环中的每个节点还有一个特殊的值,该值具有唯一性。牛牛想知道这个链表中是否存在环,如果存在,环中所有节点的值的最大公约数(GCD)是多少?
请你帮助牛牛实现一个函数,这个函数接收一个链表的头节点,返回这个链表的环中所有节点的值的最大公约数。如果链表中不存在环,则返回-1。
//求求友友帮忙改🥲🥲
#include <stdbool.h>
int gcd(int a,int b){
    if(b==0)
        return a;
    return gcd(b,a%b);
 }

int gcdInCycle(struct ListNode* head ) {
    // write code here
    struct ListNode*slow=head,*fast=head,*p=head;
    int count=0;
    int x=0;
    if(head==NULL||head->next==NULL)
        return1;
    while(fast==NULL||fast->next==NULL){
        fast=fast->next->next;
        slow=slow->next;
    }
    if(fast==NULL){
        fast=head;
    }
    if(fast->next==NULL){
        slow=slow->next;
        fast=head;
    }
    while(slow!=NULL&&fast!=NULL){
        slow=slow->next;
        fast=fast->next;
        if(slow==fast){
           break;
        }
    }
    x=slow->val;
    do{
        slow=slow->next;
        x=gcd(x,slow->val);
    }while(slow!=fast);
   
    return x;
}

40:24

以上就是关于问题牛牛是一只非常聪明的小牛,它喜欢探索世界。在一次冒险旅程中,牛牛发现了一个神奇的链表,这个链表中的每个节点都包含一个指向下一节点的指针(next),但是不幸的是,这个链表有可能存在环。不仅如此,这个环中的每个节点还有一个特殊的值,该值具有唯一性。牛牛想知道这个链表中是否存在环,如果存在,环中所有节点的值的最大公约数(GCD)是多少? 请你帮助牛牛实现一个函数,这个函数接收一个链表的头节点,返回这个链表的环中所有节点的值的最大公约数。如果链表中不存在环,则返回-1。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 牛牛是一只非常聪明的小牛,它喜欢探索世界。在一次冒险旅程中,牛牛发现了一个神奇的链表,这个链表中的每个节点都包含一个指向下一节点的指针(next),但是不幸的是,这个链表有可能存在环。不仅如此,这个环中的每个节点还有一个特殊的值,该值具有唯一性。牛牛想知道这个链表中是否存在环,如果存在,环中所有节点的值的最大公约数(GCD)是多少? 请你帮助牛牛实现一个函数,这个函数接收一个链表的头节点,返回这个链表的环中所有节点的值的最大公约数。如果链表中不存在环,则返回-1。