今天带来一道面试中总爱出的题,反转链表,我们已经用栈实现过了,今天用快慢指针实现一下吧!!!
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!!!!