본문 바로가기

포인터2

[LeetCode] 2181번: 기존 연결 리스트 수정하기 Hint 1. 어떻게 하면 포인터 2개를 이용해서 기존 리스트를 원하는 결과로 수정할 수 있을까? 2. 포인터 1개는 수정하는 노드 위치에 (a), 다른 하나는 리스트 전체를 확인하는 용도(b)로 이용해보자! 3. 움직이는 포인터b가 그 다음 0에 도달할 때까지 숫자들을 수정하는 포인터a 위치에 더하면 된다. 4. 마지막 노드는 null에 연결되도록 바꿔야한다. LeetCode 2181번: Merge Nodes in Between Zeros (풀어보기) class Solution: def mergeNodes(self, head: Optional[ListNode]) -> Optional[ListNode]: # 포인터 2개 만들기 # now = 덧셈할 포인터 위치 # pointer = 리스트 전체를 확인할 .. 2023. 4. 30.
[LeetCode] 876번: 연결 리스트 Goal 1. 연결 리스트 이해하기 2. 가장 간단한 연결 리스트 알고리즘 문제 풀어보기 연결 리스트(Linked List)란? 연결 리스트란 리스트 안에 있는 항목들이 그 다음 순서로 오는 항목과 연결되어 정해진 순서로 묶여 있는 리스트 구조를 말한다. LeetCode 876번: Middle of the Linked List (풀어보기) Hint 1. head라는 연결 리스트 구조의 정의 : head.val = 현재 위치의 수 head.next= 다음 연결된 리스트 2. 총 개수가 1개일 때는 현재 위치와 중간 지점의 위치가 같다 3. 연결된 리스트의 개수가 하나씩 늘어날 때마다 현재 위치와 중간 지점의 위치가 어떻게 변하는지 생각해보자 4. 총 개수가 홀수일 때와 짝수일 때 현재 위치와 중간 지점의 .. 2023. 3. 11.