>  기사  >  웹 프론트엔드  >  JavaScript 프로그램은 오른쪽에 더 큰 값을 가진 노드를 삭제합니다.

JavaScript 프로그램은 오른쪽에 더 큰 값을 가진 노드를 삭제합니다.

WBOY
WBOY앞으로
2023-09-10 13:49:021151검색

JavaScript 程序删除右侧具有更大值的节点

연결리스트 오른쪽의 값이 큰 노드를 삭제하는 기능을 구현하겠습니다. 방법은 연결된 목록을 오른쪽에서 왼쪽으로 순회하면서 지금까지 발견된 최대값을 추적하는 것입니다. 각 노드에 대해 해당 값을 최대값과 비교하고 해당 값이 최대값보다 작으면 노드를 삭제합니다. 이런 방식으로 최대값보다 큰 오른쪽의 모든 노드가 삭제됩니다.

방법

오른쪽의 값이 더 큰 노드를 삭제하는 방법은 다음 7단계로 나눌 수 있습니다.

  • 연결된 목록을 처음부터 끝까지 탐색하세요.

  • 현재 노드, 이전 노드, 그리고 지금까지 본 최대값을 추적하세요.

  • 현재 노드의 값이 지금까지 본 최대값보다 작으면 이전 노드의 다음 포인터를 업데이트하여 현재 노드를 삭제합니다.

  • 현재 보이는 최대값을 현재 노드의 값으로 업데이트합니다.

  • 현재 노드를 다음 노드로 이동합니다.

  • 연결된 목록의 끝에 도달할 때까지 3~5단계를 반복하세요.

  • 업데이트된 연결 목록의 헤드를 반환합니다.

단일 연결 리스트가 주어지면 오른쪽에 있는 값이 더 큰 노드를 삭제하는 작업입니다. 아이디어는 목록을 오른쪽에서 왼쪽으로 반복하고 지금까지 본 최대값을 추적하는 것입니다. 목록을 반복하면서 지금까지 본 최대값보다 작은 값을 가진 노드를 제거합니다.

이것은 JavaScript로 구현된 것입니다 -

으아아아

지침

  • 먼저 연결 목록의 각 노드를 정의하는 Node 클래스가 포함된 연결 목록 클래스를 만듭니다.

  • LinkedList 클래스에는 목록에 새 노드를 추가하는 add() 함수가 있습니다.

  • deleteNodes() 함수는 오른쪽의 값이 더 큰 노드를 삭제하는 논리를 구현합니다.

  • 지금까지 본 최대값을 추적하면서 오른쪽에서 왼쪽으로 목록을 탐색합니다.

  • 현재 노드의 값이 최대값보다 크면 최대값을 업데이트합니다.

  • 현재 노드의 값이 최대값보다 작으면 현재 노드 옆의 노드를 가리키도록 이전 노드의 next 참조를 업데이트하여 노드를 삭제합니다.

  • 마지막으로 첫 번째 노드의 값이 최대값보다 작으면 첫 번째 노드 옆의 노드를 가리키도록 헤더 참조를 업데이트합니다.

  • 노드 삭제 후 연결 목록에는 다음 값을 가진 노드만 포함됩니다.

위 내용은 JavaScript 프로그램은 오른쪽에 더 큰 값을 가진 노드를 삭제합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제