题目描述
输入一个链表,反转链表后,输出链表的所有元素。
思路:
(1) 定义三个辅助指针a,b,c;
(2) 初始化:a=null,b=head,c=head.next;
(3) 定义循环,条件为c!=null;
(4) 让b.next指向a后,a,b,c指针都向后移动一位;
(5) 最后还要让b.next指向a。
代码:
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head==null){
return null;
}
if(head.next==null){
return head;
}
ListNode listNodeA = null;
ListNode listNodeB = head;
ListNode listNodeC = head.next;
while(listNodeC!=null){
listNodeB.next = listNodeA;
listNodeA = listNodeB;
listNodeB = listNodeC;
listNodeC = listNodeC.next;
}
listNodeB.next = listNodeA;
return listNodeB;
}
}