자바 체인 테이블 의 천연 귀속 구조 성질 도문 과 실례 분석

본 고의 실례 는 자바 체인 테이블 의 천연 귀속 구조 성질 을 분석 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
링크
요구:링크 에서 지정 한 모든 요소 값 을 재 귀적 으로 삭제 합 니 다.
그림 분석
만약 에 이런 링크 가 있다 고 가정 하면 다음 과 같다.

분석:링크 의 거시적인 의미(재 귀 는 문제 가 더 작은 서브 과정)를 바탕 으로 분석 했다.
우 리 는 상술 한 체인 시 계 를 하나의 머리 결점 뒤에 더 작은 체인 시 계 를 연결 한 것 으로 볼 수 있다.다음 과 같은 그림 이다.

이때 우 리 는 링크 를 다음 과 같은 링크 구조 로 요약 할 수 있다.

1.머리 결 점+더 작은 링크 를 바탕 으로 더 작은 링크 에서 지정 한 요 소 를 삭제 하고 새로운 링크 인 그림 에서 빨 간 실크 의 사각형 을 얻 을 수 있 습 니 다.

이때 우 리 는 어떻게 붉 은 실의 사각형 코드 의 링크 에 따라 원래 의 문 제 를 해결 하 는 지 에 관심 을 가 져 야 한다.즉,원래 의 머리 결점(머리 결점 e)을 포함 한 상황 이다.
2.두 결점 e 가 삭제 되 어야 하 는 요소 값 인지 판단 한다.만약 에 두 결점 이 삭제 되 지 않 아 도 된다 면 이때 의 링크 구 조 는 두 결점 e+빨간색 사각형 이 고 그렇지 않 으 면 빨간색 사각형 이 며 관련 구조 도 는 다음 과 같다.
 

 
 코드 구현

package LeetCodeSubject;
/*
 *        
 * */

class Solution3 {

  public ListNode removeElements(ListNode head, int val) {

    if (head == null)
      return null;

    ListNode res = removeElements(head.next, val);

    if (head.val == val)
      return res;
    else {
      head.next = res;
      return head;
    }
  }


  public static void main(String[] args) {
    int[] nums = {1, 2, 6, 3, 4, 5, 6};

    ListNode head = new ListNode(nums);

    System.out.println(head);

    ListNode res = (new Solution()).removeElements(head, 6);
    System.out.println(res);

  }
}
결 과 는 다음 과 같다.

자바 알고리즘 과 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기