연결리스트

파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 21번 Merge Two Sorted List 는 연결 리스트를 뒤집는 문제이다. 위 문제는 혼자 풀려고 해보았지만, 푸는 도중에 꼬이고 어떤식으로 풀어야할지 전혀 감이 잡히지 않아 책 풀이를 참고하였다. 이 문제는 책 풀이를 보아도 쉽게 이해가 되지 않아서 이해하는데 꽤 걸렸다. # 풀이방법 1 - 재귀 구조로 연결 (책 풀이) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def merge..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 92번 Reverse Linked List II 는 인덱스 m에서 n까지를 역순으로 만드는 문제이다. # 풀이방법 1 - 재귀 함수 이용하여 reverse (내 풀이) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def reverseBetween(self, head: Optional[ListNode], left: int, right: int) -> Optional[ListNode]: # re..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 328번 Odd Even Linked List는 입력받은 연결 리스트를 홀수 번째 노드 다음에 짝수 번째 노드가 오도록 재구성하는 문제이다. # 풀이방법 1 - 연결리스트 값을 리스트로 저장 후, 연결리스트로 변환 (내 풀이) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def oddEvenList(self, head: Optional[ListNode]) -> Optional[ListNode..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 24번 Swap Nodes in Pairs는 입력받은 연결 리스트를 페어단위로 스왑하는 문제이다. 위 문제는 혼자 풀려고 해보았지만, 푸는 도중에 꼬이고 어떤식으로 풀어야할지 전혀 감이 잡히지 않아 책 풀이를 참고하였다. 책 풀이 코드를 이해하며 작성하는 시간을 가졌다. # 풀이방법 1 - 반복 구조로 스왑 (책 풀이 참고) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def swapPair..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 2번 Add Two Numbers는 주어진 두 연결리스트를 앞에서 부터 차례로 더하는 문제이다. # 풀이방법 1 - 반복문과 carry 이용 (내 풀이) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]: root = result ..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 234번 Palindrome Linked List 는 연결 리스트가 팰린드롬 구조인지 판별하는 문제이다. * 펠린드롬 : 앞뒤가 똑같은 단어나 문장 # 풀이방법 1 - value값 리스트 저장 후 판별 (내 풀이) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def isPalindrome(self, head: Optional[ListNode]) -> bool: values = [] node ..
HyeM207
'연결리스트' 태그의 글 목록