力扣中档题的简单写法:在链表中插入最大公约数

其实暴力遍历开数组也可以,但不如以下新建链表块的方法简单

复制代码
int FindCommDivisor(int num1, int num2)
{
    int n;
    int i;
    n = fmin(num1, num2);
    for (i = n; i >= 1; i--) {
        if (num1 % i == 0 && num2 % i == 0) {
            return i;
        }
    }
    return 0;
}

struct ListNode *insertGreatestCommonDivisors(struct ListNode *head)
{
    struct ListNode *p1 = head;
    while (p1->next) {
        struct ListNode *node = malloc(sizeof(struct ListNode));   
        node->val = FindCommDivisor(p1->val, p1->next->val);
        node->next = p1->next;
        p1->next = node;
        p1 = node->next;
    }
    return head;
}
相关推荐
学行库小秘5 分钟前
基于门控循环单元的数据回归预测 GRU
人工智能·深度学习·神经网络·算法·回归·gru
_meow_20 分钟前
数学建模 15 逻辑回归与随机森林
算法·数学建模·逻辑回归
1白天的黑夜139 分钟前
链表-24.两两交换链表中的结点-力扣(LeetCode)
数据结构·leetcode·链表
二向箔reverse1 小时前
机器学习算法核心总结
人工智能·算法·机器学习
猿究院--冯磊2 小时前
JVM垃圾收集器
java·jvm·算法
野犬寒鸦2 小时前
力扣hot100:最大子数组和的两种高效方法:前缀和与Kadane算法(53)
java·后端·算法
我家大宝最可爱3 小时前
动态规划:入门思考篇
算法·动态规划·代理模式
肉夹馍不加青椒3 小时前
第三十三天(信号量)
java·c语言·算法
古译汉书4 小时前
嵌入式-SPI番外之按钮驱动程序的编写-Day15
c语言·stm32·单片机·嵌入式硬件·mcu·算法
快去睡觉~4 小时前
力扣48:旋转矩阵
算法·leetcode·矩阵