728x90
https://leetcode.com/problems/partition-list/description/
좌표보다 작은 값의 연결리스트와 같거나 큰 값의 연결리스트를 따로 뽑아준 후
나중에 합쳐주면 되는 문제
class Solution:
def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:
# 파라미터 체크
if head is None:
return head
# x보다 작은값 리스트, 같거나 큰 값 리스트 의 시작점을 가지고있는다
less_than_x = ListNode(0)
equal_or_bigger_than_x = ListNode(0)
# 동적으로 제일 마지막 노드를 가지고있는 변수
l, e = less_than_x, equal_or_bigger_than_x
if head.val < x:
l.next = ListNode(head.val)
l = l.next
else:
e.next = ListNode(head.val)
e = e.next
while head.next:
head = head.next
if head.val < x:
l.next = ListNode(head.val)
l = l.next
else:
e.next = ListNode(head.val)
e = e.next
l.next = equal_or_bigger_than_x.next
return less_than_x.next
728x90
'PS > 릿코드' 카테고리의 다른 글
[릿코드 1557] Minimum Number of Vertices to Reach All Nodes (파이썬/python) (0) | 2023.03.02 |
---|---|
[릿코드 638] Shopping Offers (파이썬/python) (0) | 2023.02.23 |
[릿코드 1599] Maximum Profit of Operating a Centennial Wheel (파이썬/python) (0) | 2023.02.22 |
[릿코드 721] Accounts Merge (파이썬/python) (0) | 2022.06.22 |
[릿코드 1347] Minimum Number of Steps to Make Two Strings Anagram (파이썬/python) (0) | 2022.06.15 |