Re: [闲聊] 每日leetcode

楼主: JIWP (JIWP)   2024-09-10 21:31:46
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func insertGreatestCommonDivisors(head *ListNode) *ListNode {
tmp := head
for head.Next != nil {
newnode := &ListNode{gcd(head.Val, head.Next.Val), head.Next}
head.Next = newnode
head = head.Next.Next
}
return tmp
}
func gcd(a, b int) int {
if a%b == 0 {
return b
}
return gcd(b, a%b)
}2807. Insert Greatest Common Divisors in Linked List
给一个linked list的head
在两个node之间插入一个node
这个node的value是那两个node的最大公因子
思路:
没什么好讲的就照做
然后a跟b的最大公因子(n)就
n= a%b==0 ? b : gcd(a,b)
就这样
golang code :

Links booklink

Contact Us: admin [ a t ] ucptt.com