LetCode 브러시 Easy 편 단일 체인 테이블의 요소 삭제 Delete Node in a Linked List
1916 단어 구조 설계java 일반 지식Letcode 알고리즘
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Given linked list -- head = [4,5,1,9], which looks like following:
4 -> 5 -> 1 -> 9
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
should become 4 -> 1 -> 9 after calling your function.
Example 2:
Input: head = [4,5,1,9], node = 1
Output: [4,5,9]
Explanation: You are given the third node with value 1, the linked list
should become 4 -> 5 -> 9 after calling your function.
Note:
이 문제는 이전에 한 번 해 봤는데 다 쓴 후에 달라졌습니다. 이것은 헤드 노드에 주지 않았기 때문에 지정한 노드를 직접 삭제해야 합니다.
이 알고리즘을 복습하기 위해서 나는 먼저 헤드 노드가 있는 상황을 썼는데 코드에 몇 가지 작은 문제가 생겼다.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode removeElements(ListNode head, int val) {
if(head==null) return null;
ListNode dummy=new ListNode(0);
dummy.next=head;
ListNode curr=dummy;
while(curr!=null&&curr.next!=null){
if(curr.next.val==val){
curr.next=curr.next.next;
}
else{
// curr,
curr=curr.next;
}
}
return dummy.next;
}
}
이 코드는 나중에 단일 체인 테이블을 배워서dummy node로 코너 케이스를 처리한 후에 수정하여 완벽하게 통과했습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Netty 인터넷 채팅방의 세션 관리웹을 쓴 학생들은 세션이라는 것에 익숙할 것이다.브라우저가 처음으로 서버와 연결을 맺을 때 서버는 자동으로 세션을 분배합니다.Session은 사용자가 로그인 인증을 받았는지 판단하거나 사용자의 각종 정보를 저장할 수...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.