LeetCode206.체인 테이블 반전(Java 구현)
1141 단어 LeetCode 프로그래밍 문제
사고방식1:
차례로 실현되다
독자가 이 함수의 의미를 깊이 이해하십시오 0_0
public ListNode reverseList(ListNode head)
현재 노드의 다음 점프를 헤드 노드로 하는 체인 테이블이 반전된 헤드 노드를 되돌려줍니다.
예: ListNode h=reverseList(head.next)
설명:head 현재 노드,head.next 현재 노드 다음 점프, h 반전 후 체인 시계의 머리 결점
됐어, 코드 봐.
class Solution {
public ListNode reverseList(ListNode head) {
if(head==null || head.next==null){
//
//
return head;
}
ListNode h = reverseList(head.next);
head.next.next = head;
head.next = null;
return h;
}
}
생각 2:
새 노드, 플러그 방법
class Solution {
public ListNode reverseList(ListNode head) {
if(head==null||head.next==null){
return head;
}
ListNode root=new ListNode(0);
ListNode n=root;
while(head!=null){
n=head;
head=head.next;
n.next=null;
n.next=root.next;
root.next=n;
}
return root.next;
}
}