LeetCode Einfach verkettete Liste - Sword Pointer Angebot II 024. Umgekehrte verkettete Liste (Rekursion und Iteration)

Adresse: https://leetcode.cn/problems/UHnkqh/
Bildbeschreibung hier einfügen
Problemlösungsidee (Iteration):
Ändern Sie beim Durchlaufen der verknüpften Liste den nächsten Zeiger des aktuellen Knotens so, dass er auf den vorherigen Knoten zeigt, da der Knoten nicht darauf verweist Seinen vorherigen Knoten muss es sein. Speichern Sie seinen vorherigen Knoten. Vor dem Ändern der Referenz muss auch letzterer Knoten gespeichert werden, und schließlich wird die neue Kopfreferenz zurückgegeben.

public class 反转链表_迭代 {
    
    
    public class ListNode {
    
    
      int val;
      ListNode next;
      ListNode() {
    
    }
      ListNode(int val) {
    
     this.val = val; }
      ListNode(int val, ListNode next) {
    
     this.val = val; this.next = next; }
  }
    public ListNode reverseList(ListNode head) {
    
    
        ListNode prev = null;
        ListNode curr = head;

        while (curr !=null){
    
    
            //next是当前节点的指针
            ListNode next = curr.next;
            //当前节点的指针指向上一个节点 并且存储在变量中.
            curr.next = prev;
            //上一个节点就是当前节点
            prev = curr;
            curr = next;
        }
        //最后
        return prev;
    }
}

Rekursiv implementiert:

public class 反转链表_递归 {
    
    
    public class ListNode {
    
    
        int val;
        ListNode next;
        ListNode() {
    
    }
        ListNode(int val) {
    
     this.val = val; }
        ListNode(int val, ListNode next) {
    
     this.val = val; this.next = next; }
    }
    public ListNode reverseList(ListNode head) {
    
    
        //为了不陷入死循环
        if (head ==null || head.next ==null) return head;
        ListNode newHead = reverseList(head.next);
        //假如head=5 那么head.next是4 让4的指针指向5
        head.next.next = head;
        head.next = null;
        return newHead;
    }
}

Supongo que te gusta

Origin blog.csdn.net/m0_62491934/article/details/128739263
Recomendado
Clasificación