티스토리 뷰

문제 설명

제한 조건

https://leetcode.com/explore/interview/card/top-interview-questions-easy/93/linked-list/553/

 

Explore - LeetCode

LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore.

leetcode.com

 

내 답안

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public var val: Int
 *     public var next: ListNode?
 *     public init(_ val: Int) {
 *         self.val = val
 *         self.next = nil
 *     }
 * }
 */

// class ListNode {
//     var data: Int
//     var next: ListNode?
    
//     init(data: Int, next: ListNode? = nil) {
//         self.data = data
//         self.next = next
//     }
// }

class Solution {
    func deleteNode(_ node: ListNode?) {
        node?.val = node?.next?.val ?? 0 
        node?.next = node?.next?.next ?? nil
    }
}

접근 방법

이번 노드에 다음 번 노드의 값을 넣어주면 된다

옵셔널 언래핑을 해줘야 한다고 생각했으나 ListNode의 마지막 next는 nil이기 때문에 해주지 않아도 된다

제약 조건에 끝노드는 삭제하지 않는다고 해서 node.next.val의 기본값을 0으로 설정했으나 끝노드 삭제도 가능하다고 했더라면 다른 코드로 해야한다고 생각함 

 

다른 풀이

알게 된 것

최근에 올라온 글