단일 링크 에서 지정 한 요 소 를 삭제 합 니 다.

1135 단어 데이터 구조
문제 풀이 방향: 1. 머리 결점 이 삭제 해 야 할 요소 인지 판단 하고 링크 의 시작 에 여러 요소 가 모두 지정 한 요소 가 있 는 것 을 방지 하기 위해 while 순환 으로 판단 합 니 다. 2. 머리 결점 이 비어 있 는 지 판단 합 니 다. 3. 하나의 prev 노드 를 설명 합 니 다. prev. next 노드 는 현재 판단 하 는 노드 입 니 다. 예 를 들 어 현재 노드 의 값 이 지정 한 요소 와 같 으 면 prev. next. next 로 prev. next 를 직접 교체 합 니 다.같 지 않 으 면 prev = prev. next 를 실행 하여 다음 노드 를 판단 합 니 다.
public class          _01 {

//      Definition for singly-linked list.
      public class ListNode {
          int val;
          ListNode next;
          ListNode(int x) { val = x; }
      }

    public class Solution {
        public ListNode removeElements(ListNode head, int val) {
            while(head != null && head.val == val) {
                head = head.next;
            }
            if(head == null) {
                return null;
            }
            ListNode prev = head;
            while(prev.next != null) {
                if(prev.next.val == val) {
                    prev.next = prev.next.next;
                }else {
                    prev = prev.next;
                }
            }
            return head;

        }
    }
}

좋은 웹페이지 즐겨찾기