소프트웨어에 대한 모든 것

LeetCode 풀기 - 2181. Merge Nodes in Between Zeros 본문

알고리즘/LeetCode

LeetCode 풀기 - 2181. Merge Nodes in Between Zeros

앤테바 2022. 3. 4. 21:19
반응형

2181. Merge Nodes in Between Zeros

https://leetcode.com/problems/merge-nodes-in-between-zeros/

문제)

솔루션1)

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def mergeNodes(self, head):
        cur = head.next
        cur_sum = 0
        res = []
        while cur:
            if cur.val == 0:
                res.append(cur_sum)
                cur_sum = 0
            else:
                cur_sum += cur.val
            cur = cur.next
        return arr_to_list(res)


def arr_to_list(nums):
    head = None
    for n in nums:
        node = ListNode(n)
        if head is None:
            head = node
            prev = head
        else:
            prev.next = node
            prev = node
    return head

 

반응형
Comments