今天带来一道面试中总爱出的题,反转链表,我们已经用栈实现过了,今天用快慢指针实现一下吧!!!
public class Solution { public ListNode ReverseList(ListNode head) { if(head==null){ return null; } if(head.next==null){ return head; } ListNode cur=head.next;//还是用到了快慢指针 head.next=null; while(cur!=null){ ListNode curNext=cur.next; cur.next=head; head=cur; cur=curNext; } return head; } }
进行头插法,
就像图中写的代码 一样
head.next=null; cur.next=head; while(cur!=null){ ListNode curNext=cur.next; cur.hext=head; head=cur; cur=curNext; }
运用了快慢指针,这就是套路,做的题多了就掌握了,勤加练习
今天的讲解就到这里了,我们下一期再见,886!!!!