LeetCode206.체인 테이블 반전(Java 구현)

링크:https://leetcode-cn.com/problems/reverse-linked-list/
사고방식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;
    }
}

좋은 웹페이지 즐겨찾기