😎풀이

  1. 연결 리스트 선언 및 초기화
  2. 각 메서드 선언
    • get: 배열 인덱스 접근 및 ?? 연산을 활용한 -1 처리
    • addAtHead: unshift 기반 배열 맨 앞 추가
    • addAtTail: push 기반 배열 맨 뒤 추가
    • addAtIndex: splice 기반 특정 인덱스에 val 추가
    • deleteAtIndex: splice 기반 특정 인덱스 제거
class MyLinkedList {
    private linkedList: number[]
    constructor(linkedList: number[] = []) {
        this.linkedList = [...linkedList]
    }

    get(index: number): number {
        return this.linkedList[index] ?? -1
    }

    addAtHead(val: number): void {
        this.linkedList.unshift(val)
    }

    addAtTail(val: number): void {
        this.linkedList.push(val)
    }

    addAtIndex(index: number, val: number): void {
        this.linkedList.splice(index, 0, val)
    }

    deleteAtIndex(index: number): void {
        this.linkedList.splice(index, 1)
    }
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글