Leetcode 1774 Solution

This article provides solution to leetcode question 1774 (add-two-polynomials-represented-as-linked-lists)

https://leetcode.com/problems/add-two-polynomials-represented-as-linked-lists

Solution

# Definition for polynomial singly-linked list. # class PolyNode: # def __init__(self, x=0, y=0, next=None): # self.coefficient = x # self.power = y # self.next = next
class Solution: def addPoly(self, poly1: 'PolyNode', poly2: 'PolyNode') -> 'PolyNode': dummy_head = PolyNode()
prev_node = dummy_head node1 = poly1 node2 = poly2
while node1 or node2: power1 = node1.power if node1 else -1 power2 = node2.power if node2 else -1
v = 0 power = 0 if power1 == power2: v = node1.coefficient + node2.coefficient power = power1 node1 = node1.next node2 = node2.next elif power1 > power2: v = node1.coefficient power = power1 node1 = node1.next elif power1 < power2: v = node2.coefficient power = power2 node2 = node2.next
if v != 0: prev_node.next = PolyNode(v, power) prev_node = prev_node.next
return dummy_head.next