leetcode#160 Intersection of Two Linked Lists

정은경·2022년 6월 12일
0

알고리즘

목록 보기
85/125

1. 문제

2. 나의 풀이

  • A 리스트와 B 리스트의 끝을 비교해 나간다
# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def getNodeList(self, nodeA, result):
        if nodeA:
            result.append(nodeA)
            nodeA = nodeA.next
            self.getNodeList(nodeA, result)
        return result

        
    
    def getIntersectionNode(self, headA, headB):
        """
        :type head1, head1: ListNode
        :rtype: ListNode
        """
        list_a = self.getNodeList(headA, [])
        list_b = self.getNodeList(headB, [])
        
        prev_node = None
        while list_a:
            node_a = list_a.pop()
            if list_b:
                node_b = list_b.pop()
            if node_a == node_b:
                prev_node = node_a
                continue
            break
        
        return prev_node

3. 남의 풀이

profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글