15.反转链表
Posted yjxyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15.反转链表相关的知识,希望对你有一定的参考价值。
题目描述:
??输入一个链表,反转链表后,输出新链表的表头。
思路分析:
??设置两个指针,pre和next,pre指向head,next保存head.next,即pre->head->next,要想反转链表让 head指向pre, pre<-head next,然后循环更新pre和head,最后将链表反转。
代码:
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode pre=null;
ListNode next=null;
ListNode nowhead=null;
if(head==null)
return null;
while(head!=null){ //pre->head->next pre<-head next
next=head.next;
if(next==null)
nowhead=head;
head.next=pre;
pre=head;
head=next; //依次反转后面的节点
}
return nowhead;
}
}
以上是关于15.反转链表的主要内容,如果未能解决你的问题,请参考以下文章