@ninijia 在 Leetcode 每日一题练习 ------ 2807. 在链表中插入最大公约数 中发帖
从Leetcode 每日一题练习继续讨论:
2807. 在链表中插入最大公约数
2807. Insert Greatest Common Divisors in Linked List
题解
本题了解求两个数的最大公因数的算法(欧几里得算法)就很好解题. 实现欧几里得算法可以使用递归方法也可以使用迭代, 本题中我使用的是迭代. 再用两个指针分别指向链表中的前一个节点和后一个节点, 计算得到二者的最大公因数后在两个节点之间插入一个新节点. 直到链表末尾.
代码
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func insertGreatestCommonDivisors(head *ListNode) ...