본문 바로가기

연결리스트9

[백준 1406] 에디터 www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 연결리스트, 스택, 덱을 이용해서 풀 수 있다. 1. 스택 이용 두 개의 스택을 이용한다. 커서의 왼쪽에 있는 문자열을 s1 스택에 저장. 커서의 오른쪽에 있는 문자열은 s2스택에 저장한다. 명령어 L과 D의 경우 커서가 움직일 때마다 문자열을 옮긴다. #include #include #include using namespace std; stack s1, s2; int main(void) { ios_base::s.. 2020. 11. 29.
[leetcode 237] Delete Node in a Linked List Write a function to delete a node in a singly-linked list. You will not be given access to the head of the list, instead you will be given access to the node to be deleted directly. It is guaranteed that the node to be deleted is not a tail node in the list. Example 1: Input: head = [4,5,1,9], node = 5 Output: [4,1,9] Explanation: You are given the second node with value 5, the linked list shoul.. 2020. 11. 27.
[leetcode 23] Merge k Sorted Lists You are given an array of k linked-lists lists, each linked-list is sorted in ascending order. Merge all the linked-lists into one sorted linked-list and return it. Example 1: Input: lists = [[1,4,5],[1,3,4],[2,6]] Output: [1,1,2,3,4,4,5,6] Explanation: The linked-lists are: [ 1->4->5, 1->3->4, 2->6 ] merging them into one sorted list: 1->1->2->3->4->4->5->6 Example 2: Input: lists = [] Output: .. 2020. 11. 12.
[leetcode 142] Linked List Cycle II Given a linked list, return the node where the cycle begins. If there is no cycle, return null. There is a cycle in a linked list if there is some node in the list that can be reached again by continuously following the next pointer. Internally, pos is used to denote the index of the node that tail's next pointer is connected to. Note that pos is not passed as a parameter. Notice that you should.. 2020. 11. 5.