LeetCode-反转链表
生活随笔
收集整理的這篇文章主要介紹了
LeetCode-反转链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
1、遞歸解法
注意點1:當前要處理的
n1--->n2---->n3<-----n4<-----n5
假設當前節點的右邊都是已經反轉好的,左邊是待反轉的。
要實現的目標是n3.next是n2,這樣就可以繼續往前推進了
n2.next.next=n2
注意點2:結束點和迭代如何處理
是將整個鏈表全部加載到內存中,然后從右開始,往左推進。
注意點3:全局就一個鏈表翻來覆去的在前后節點之間調整關系。
還要把原來的從左向右的鏈條給斷開,否則會出現環
public ListNode reverseList(ListNode head) {if(head==null || head.next==null){return head;}ListNode p = reverseList(head.next);head.next.next=head;head.next=null;return p;}
?
轉載于:https://www.cnblogs.com/qihongfeiblog/p/11006873.html
總結
以上是生活随笔為你收集整理的LeetCode-反转链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Docker】docker安装redi
- 下一篇: P1020 导弹拦截(LIS)