Pointer

    [LeetCode] 2095. Delete the Middle Node of a Linked List (C#)

    https://leetcode.com/problems/delete-the-middle-node-of-a-linked-list linkedlist의 head가 주어진다.해당 linkedlist의 middle 노드를 삭제하고, 변경된 리스트의 head를 반환하는 문제.middle 노드의 기준은 리스트의 사이즈를 n이라고 가정하고 [ n / 2 ] 번째 노드를 뜻한다.  1. 원 포인터를 사용한 풀이middle 노드가 몇 번째인지 확인하는 과정이 들어간다.middle 노드 직전에서 순회를 멈추고 다다음 노드를 Next 로 바라본다.원소가 1개인 경우는 예외 케이스로 처리public class ListNode { public int val; public ListNode next; public L..

    SystemSoftware - Machine data(Assembly) #1

    SystemSoftware - Machine data(Assembly) #1

    C언어에서 다루었던 포인터연산을 통한 변수 값 참조와 다차원 배열의 특정 위치의 값을 참조하는 방식을 어셈블리어를 통해 깊게 알아보자 int val[5]; 라는 정수형 배열이 있다고 생각해보자 주소값 x x + 4 x + 8 x + 12 x + 16 값 1 5 2 1 3 배열의 메모리 값까지 생각 한다면 위와 같이 구성 되어있을 것이다 x = 배열의 시작주소 예제 1) Reference Type Value val[4] int 3 val int * x val + 1 int * x + 4 &val[2] int* x + 8 val[5] int - *(val+1) int 5 C to Assembly 1. int pnu[5] = {1, 5, 2, 1, 3}; int get_digit(int z[], int id)..