206反转链表
和普通的交换两个数字类比
首先我需要一个prev作为表头一开始的空节点,即当前节点的上一个节点;
ListNode prev = null;
其次,我需要一个cur指向当前节点,整体操作上没有用原来的head,这样会改动原来的链表,head会丢失原有链表;
ListNode cur = head;
之后要进入循环,只要当前节点不是空,就持续循环
在内部建立nxt节点,nxt指向当前节点的下一个节点,保证不会丢失;
ListNode nxt = cur.next;
然后就是后面的往前,cur.next的值指向前一个节点即prev;
cur.next = prev;
前一个节点指向当前节点
prev = cur;
当前节点转到nxt记录的原来的下一个节点;
cur = nxt;
循环内部收尾相连,结束。
版权声明:
作者:Paul
链接:https://www.15ivyy.site/index.php/2024/12/04/206fzlb/
来源:somethingFromPaul
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
Paul
反转链表二和反转链表的逻辑好像还不太一样