/*反转链表
*
* 输入一个链表,反转链表后,输出新链表的表头。
*
*
*
*
* */
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public class Offer15 {
public ListNode ReverseList(ListNode head) {
//如果链表为空或者只有一个节点,那就直接返回自己
if(head==null || head.next==null) {
return head;
}
ListNode p;
ListNode q;
ListNode r;
p=head; //p指向头节点
q=head.next;//q指向头节点的下一个节点
head.next=null; //断开连接,旧的头指针是新的尾指针
while(q!=null) {
r=q.next;
q.next=p;
p=q;
q=r;
}
head=p;
return head;
}
}
10-01
10-01
10-01